如何将每1000个数字编入索引

时间:2017-06-04 15:09:10

标签: mysql indexing

我有一个带有'billnumber'列的表(INT 11)

billnumber值可能每3或4条记录发生变化,所以如果我索引1M记录,我将有250K索引

无论如何,我想要的是将每1000个票号编入索引 - 从1到1000 - 从1001到2000

1 个答案:

答案 0 :(得分:0)

实际上有问题吗?

INDEX(billnumber)不是唯一的,这将毫不费力地返回3行或4行:

SELECT ...
    WHERE bill_number = 1234

如果您想选择1..1000,只需执行

即可
SELECT ...
    WHERE bill_number BETWEEN 1 AND 1000;

两者都很有效。

请注意,数据库表没有订单。要获取订购的行,您必须使用ORDER BY

与此同时,INDEXes尝试提高WHEREORDER BY效率。