MySQL InnoDB慢-按情况排序
我有一个表,其字段标志的值为0、1或2。我需要先用标志值2对结果进行排序,然后是剩余的结果 目前我正在使用MySQL InnoDB慢-按情况排序,mysql,innodb,Mysql,Innodb,我有一个表,其字段标志的值为0、1或2。我需要先用标志值2对结果进行排序,然后是剩余的结果 目前我正在使用SELECT*FROM table ORDER BY CASE,当flag=2,然后是1,否则为0时,虽然这样做很好(您尝试过了吗?: SELECT * FROM table ORDER BY (flag = 2) DESC 感谢您对解决订购问题的其他方法的思考 但是,问题在于my.ini的InnoDB设置: # 60-80 % of available RAM. innodb_buffe
SELECT*FROM table ORDER BY CASE,当flag=2,然后是1,否则为0
时,虽然这样做很好(您尝试过了吗?:
SELECT * FROM table ORDER BY (flag = 2) DESC
感谢您对解决订购问题的其他方法的思考 但是,问题在于
my.ini
的InnoDB设置:
# 60-80 % of available RAM.
innodb_buffer_pool_size = 1024M
innodb_additional_mem_pool_size = 128M
# 25 % of buffer pool size.
innodb_log_file_size = 256M
innodb_log_buffer_size = 128M
看来,使用InnoDB需要一些my.cnf
的配置;我习惯了只需要很少的MyISAM
显然,还有很多阅读要做,包括下面的链接,但希望这能帮助其他人像我一样开始阅读:
(1)我很惊讶MyISAM的速度如此之快。(2)我不知道您是否可以通过(3)获得用于
订单的索引9秒对10k行进行排序似乎很慢。如果你要否决投票,请解释原因以及我是否应该提供更多信息。9秒只对10k行进行排序?不可能。请提供SHOW CREATE TABLE
和explain SELECT…
。还有一些事情正在进行。例如标志的数据类型
。我喜欢alte一种积极的排序方法(我不熟悉),它可以根据我的需要进行排序,但我得到同样缓慢的结果。