我有一个带有'billnumber'列的表(INT 11)
billnumber值可能每3或4条记录发生变化,所以如果我索引1M记录,我将有250K索引
无论如何,我想要的是将每1000个票号编入索引 - 从1到1000 - 从1001到2000
答案 0 :(得分:0)
实际上有问题吗?
INDEX(billnumber)
不是唯一的,这将毫不费力地返回3行或4行:
SELECT ...
WHERE bill_number = 1234
如果您想选择1..1000,只需执行
即可SELECT ...
WHERE bill_number BETWEEN 1 AND 1000;
两者都很有效。
请注意,数据库表没有订单。要获取订购的行,您必须使用ORDER BY
。
与此同时,INDEXes
尝试提高WHERE
和ORDER BY
效率。