大数据量的查询优化?
我有一个数据库,其中表中每条记录代表一条事件。
基本列有:EventID(int) Category(int) Subcategory(int) TimeStamp(longlong) IsOK(int) IsDo(int) Level(int) 后面还有多列,但是和查询无关。
我的查询语句类似于: select * from Table where TimeStamp>=xxx and TimeStamp<=xxx and (category in(1,2,3) or(category=0 and subcategory in(1,2,3)) and IsOK=1 and IsDo=0 and Level>=xxx limit 256 offset 0
其中EventID是主键。
当数据量在1000万条的时候,上面的查询大概几分钟才能结束。如果我是 select * from Tabel limit 256 offset 0 大概1~3秒返回。
请问该如何优化??非常感谢!!!