Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL InnoDB慢-按情况排序_Mysql_Innodb - Fatal编程技术网

MySQL InnoDB慢-按情况排序

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

我有一个表,其字段标志的值为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_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一种积极的排序方法(我不熟悉),它可以根据我的需要进行排序,但我得到同样缓慢的结果。