现需要改进设计一个数据库,里面最主要的存储对象是用户,用户地区,用户喜欢的频道
一个用户表
User
ID| userName| password|...
....
8888887 '小海的家' '密码'
....
数据约1000w行用户所在地区表,数据格式
Id| location| pid
北京
海淀区
朝阳区
西城区
....
上海
长宁区
....
河北
石家庄
保定
...
数据约400行用户喜欢的频道表
Id| name| pid
生活
情感专区
图片
美食
...
亲子
儿童
儿歌
胎教
...
军事
欧美各国
东南亚
...
数码
手机
笔记本
....
数据约300行需求就是
通过地区可以找到喜欢频道的喜欢用户
一级:例如可以查询北京地区各个频道的喜欢用户(生活【情感专区,图片,美食】)
二级:例如可以查询北京海淀区各个频道的喜欢用户(生活【情感专区,图片,美食】)
通过喜欢的频道可以查到各个地区的喜欢用户
一级:例如通过生活频道可以查到省,直辖市喜欢的用户(北京,河北)
一级:例如通过生活频道可以查到海淀区,朝阳区喜欢的用户(北京【海淀区,朝阳区】,河北【石家庄】)提示:
一个用户可以喜欢多个频道,所以用户和频道表是一对多的关系之前使用一对一关系,将地区表,频道表字段ID都存在用户表中,
ALTER TABLE `user` ADD INDEX (地区id,频道id )
做复合索引,即使数据量在1000w也可以查询时间低于0.05秒;但是不满足二级结构存储的需求,和一对多的关系现在的需求复杂,请教各位高手怎么设计这样的表,索引如何添加
一个用户表
User
ID| userName| password|...
....
8888887 '小海的家' '密码'
....
数据约1000w行用户所在地区表,数据格式
Id| location| pid
北京
海淀区
朝阳区
西城区
....
上海
长宁区
....
河北
石家庄
保定
...
数据约400行用户喜欢的频道表
Id| name| pid
生活
情感专区
图片
美食
...
亲子
儿童
儿歌
胎教
...
军事
欧美各国
东南亚
...
数码
手机
笔记本
....
数据约300行需求就是
通过地区可以找到喜欢频道的喜欢用户
一级:例如可以查询北京地区各个频道的喜欢用户(生活【情感专区,图片,美食】)
二级:例如可以查询北京海淀区各个频道的喜欢用户(生活【情感专区,图片,美食】)
通过喜欢的频道可以查到各个地区的喜欢用户
一级:例如通过生活频道可以查到省,直辖市喜欢的用户(北京,河北)
一级:例如通过生活频道可以查到海淀区,朝阳区喜欢的用户(北京【海淀区,朝阳区】,河北【石家庄】)提示:
一个用户可以喜欢多个频道,所以用户和频道表是一对多的关系之前使用一对一关系,将地区表,频道表字段ID都存在用户表中,
ALTER TABLE `user` ADD INDEX (地区id,频道id )
做复合索引,即使数据量在1000w也可以查询时间低于0.05秒;但是不满足二级结构存储的需求,和一对多的关系现在的需求复杂,请教各位高手怎么设计这样的表,索引如何添加
解决方案 »
- 游戏客户端文件里要放mysql的动态域名吗?
- 关于一条SQL语句效率的问题
- mysql数据库在用于多线程执行时出现错误,急!!!
- 竟然有这么诡异的问题,研究了半个月头都大了,100分,帮我解释下啊大家
- 怎样在程序中列出MySQL实例的数据库和表?
- Delphi + ADO 如何連PostgreSQL? (錯誤:'...unhandled type 1015')
- xp下mysql 5.0的连接问题很奇怪
- pg 提问 , 我想把 每条数据里 的 每个字段内容 全角,或者半角里的空格去掉,我该则么做?(急)
- 请问,如果通过SQL查询一个表主键的字符集呢
- MYSQL 排序问题
- MySql中一个数据库中表的连接方法!!
- mysql 存储过程 调用参数
select id,name from userName limit 5000000,10;
时间一般是10秒左右
1 。关键是建立索引
2 。以及my.cnf里设置足够多的内存。
3 。cron程序每天晚上3:00左右OPTIMIZE一下数据库,并且重启一下。
2、数据库一定做负载均衡。
3、另外对索引的处理要得当,不是所有的都创建索引的。
我想先建建索引再说,mysql其实千w的查询也可以优化到0。01秒再等高人出现,指点表设计