为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL 建表 如何建立索引更有利

MySQL 建表 如何建立索引更有利

互换的青春 2019-04-08 11:17:57
CREATETABLE`typecho_album`(`id`int(10)unsignedNOTNULLauto_increment,`name`text,`mime`varchar(32)defaultNULL,`pixel`text,`size`int(12)unsigneddefault'0',`created`int(10)unsigneddefault'0',`description`text,`url`text,`thumb`text,`public`int(1)unsigneddefault'1',`from`varchar(32)defaultNULL,`category`varchar(32)defaultNULL,PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=%charset%;这样一个表要建立一个索引看了不少还是迷糊看看大家的说法检索方式select*fromtable可能存在的条件wherepublic=1(pubilc只有0和1二个值)wherefrom=xxx(from有3个值)wherecategory=xx(category有1-N个值不确定)wherecreatedxx(这个是重点created是创建时间,通过时间范围检索,比如一天,一星期,一个月,一年)以上条件可能都存在可能都不存在也可能其中1个或者多个谢谢!
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

对于时间检索,要考虑时间数据的查询范围和查询性能,如果能做到时间上的数据汇总,这样能够减少数据库的压力。如果对于查询范围非常大的数据是会造成很大的性能上的问题。
建议采用列式数据库或者针对时间序列有特别的优化的数据库进行查询。
这样会大大减轻时间汇总和数据量大的问题。
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 851 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信