首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

【MySQL】有个案例,怎么创建更好的索引才能获取更好的性能

2012-03-20 
【MySQL】有个案例,如何创建更好的索引才能获取更好的性能?大家好,问题:目前我有个如何创建索引,才能获取更

【MySQL】有个案例,如何创建更好的索引才能获取更好的性能?
大家好,
问题:
目前我有个如何创建索引,才能获取更好的性能的问题。
比如:
  我的表schema如下:
表: table t1, 
列: id, name, user_id, is_public, is_enable, last_modified_at datetime, view_times int, vote_times int, score double等字段。  
表大小: 100w记录 user_id(对应t_user_info的主键id)

需求: 会有按照last_modified_at desc查询, 按照view_times desc查询,按照vote_times desc查询, 按照score desc查询等需求,页面上就是不同的按钮,触发不同的排序。

请问,如何设计这个表的索引? 才能获取更好的性能?

2. 另外i,mysql的单表达到多少条记录(假设就20~40个字段)的时候,会比较严重的影响性能?

3. 如果字段is_public设置为tinyint类型, 那么where子句中用 where is_public is true好呢? 还是where is_public = 1好呢?

[解决办法]
需求: 会有按照last_modified_at desc查询, 按照view_times desc查询,按照vote_times desc查询, 按照score desc查询等需求,页面上就是不同的按钮,触发不同的排序。

只能再各个字段建立索引

2. 另外i,mysql的单表达到多少条记录(假设就20~40个字段)的时候,会比较严重的影响性能?
记录无限制 但是一般超过百G的大文件就会影响打开文件的性能

3. 如果字段is_public设置为tinyint类型, 那么where子句中用 where is_public is true好呢? 还是where is_public = 1好呢?
tinyint是数字 最好用=1

热点排行