我正在使用mysql表模拟几个指令队列。有一个'mode'列是每个队列的名称,一旦从队列中取出项目,它们就会被删除。典型的查询看起来像
SELECT * FROM queue_table WHERE mode='queue1' LIMIT 50.
我目前正在使用MYISAM
表,但是所有删除和优化需要花费很长时间。我只是想知道是否有更有效的方法来执行此操作,如果数据库可能是INNODB
。
答案 0 :(得分:0)
InnoDB
非常有用。
所以有一点可以优化你的查询..
在mode
列上创建索引,也不要使用*
(可能是你的表有很多列),写一个你只需要重试的列名。
答案 1 :(得分:0)
我不能说我完全理解您的问题,但我确信如果您将使用固定大小的文件(即没有text
字段,char
而不是varchar
)表格记录变得极其可重复使用,根本不需要优化。