猿问

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

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个或者多个
谢谢!
互换的青春
浏览 852回答 2
2回答

神不在的星期二

对于时间检索,要考虑时间数据的查询范围和查询性能,如果能做到时间上的数据汇总,这样能够减少数据库的压力。如果对于查询范围非常大的数据是会造成很大的性能上的问题。建议采用列式数据库或者针对时间序列有特别的优化的数据库进行查询。这样会大大减轻时间汇总和数据量大的问题。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答