1,我们知道,客户端发起一个线程会开辟一些内存,这些内存由sort buffer何join buffer等组成!假设global variable中的这些值加起来为8M, 我想问的是mysql分配这些内存的行为,是线程一发起就开辟这8M的内存,还是用到什么buffer,分配什么buffer?比如,sql里需要在内存中排序时,才分配sort buffer?2, 在开发过程中,我希望遇到一些特定的语句时设置临时变量,这样是否合理?
比如对于一个有排序的语句,在连接数据库后,先执行set sort_buffer_size = 8388608;以便让该语句更好的利用内存进行排序!
这样是否合理呢?
比如对于一个有排序的语句,在连接数据库后,先执行set sort_buffer_size = 8388608;以便让该语句更好的利用内存进行排序!
这样是否合理呢?
解决方案 »
- MSSQL转MYSQL, 帮我看下改写的存储过程写的有没有问题
- pgsql的Case when的小问题!
- 急。。。请问如何修改PHPMyadmin中mysql字符集????
- mysql锁问题
- 问题:用ADO访问MYSQL,ADO记录集无数据。请各位给点建议
- 如何设置Mysql在redhat9下的开机自启动?
- 請問:MYSQL支持中文字段名嗎>>我的SQL2000數據庫無法遷移到mysql下。
- mysql 先排序后分组
- Mysql插入时报错Got a packet bigger than 'max_allowed_packet' bytes
- mysql中文为啥查不出来
- 如何创建触发器
- mysql按条件导出数据
2、设置临时变量的做法不推荐。
因为你也不知道这个连接排序缓存设置多少是最佳,还是让mysql来决定比较好。