草庐IT

OPTIMIZATION

全部标签

mysql - 连接空间 mysql 索引

我有两张表:一张是点,另一张是多边形。CREATETABLE`points`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`point`pointNOTNULL,PRIMARYKEY(`id`))ENGINE=MyISAM;CREATETABLE`ranges`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`poly`polygonNOTNULL,PRIMARYKEY(`id`),SPATIALKEY`poly`(`poly`))ENGINE=MyISAM;我想将范围连接到多边形内点上的点。查询看起来很简单:S

mysql - 连接空间 mysql 索引

我有两张表:一张是点,另一张是多边形。CREATETABLE`points`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`point`pointNOTNULL,PRIMARYKEY(`id`))ENGINE=MyISAM;CREATETABLE`ranges`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`poly`polygonNOTNULL,PRIMARYKEY(`id`),SPATIALKEY`poly`(`poly`))ENGINE=MyISAM;我想将范围连接到多边形内点上的点。查询看起来很简单:S

mysql - 如何识别 MySQL 数据库中未使用的索引?

我最近完全重写了一个大型项目。在这样做的过程中,我整合了大量的随机MySQL查询。我确实记得在开发以前的代码库的过程中,我一时兴起创建了索引,而且我确信有很多不再使用了。有没有办法监控MySQL的索引使用情况,以确定哪些索引正在使用,哪些没有? 最佳答案 我不认为这些信息在现有的MySQL安装中可用。Percona为MySQL制作工具和补丁来收集索引使用数据。见:UserStatistics(andIndexStatistics)HowexpensiveisUSER_STATISTICS?pt-index-usage另见:NewIN

mysql - 如何识别 MySQL 数据库中未使用的索引?

我最近完全重写了一个大型项目。在这样做的过程中,我整合了大量的随机MySQL查询。我确实记得在开发以前的代码库的过程中,我一时兴起创建了索引,而且我确信有很多不再使用了。有没有办法监控MySQL的索引使用情况,以确定哪些索引正在使用,哪些没有? 最佳答案 我不认为这些信息在现有的MySQL安装中可用。Percona为MySQL制作工具和补丁来收集索引使用数据。见:UserStatistics(andIndexStatistics)HowexpensiveisUSER_STATISTICS?pt-index-usage另见:NewIN

MySQL 性能和变量调整

我的MySql服务器有问题,导致它一直卡住。在phpMyAdmin中,当发生这种情况时,我可以在“显示进程列表”中看到很多用户“未经身份验证的用户”的进程,命令“连接”和状态“从网络读取”。数据库使用InnoDB,但我也使用一个运行MyISAM的表来执行全文搜索。服务器内存约4GB,使用中不到500MB。我一直在使用MySql中的慢查询日志来查找不使用索引的查询。我还认为我需要对服务器变量进行一些更改/调整。我真的可以在这里使用一些帮助,因此我在这里发布了SHOWGLOBALSTATUS和SHOWGLOBALVARIABLES,也许你可以给我一些我应该如何设置变量的想法?当前显示全局状

MySQL 性能和变量调整

我的MySql服务器有问题,导致它一直卡住。在phpMyAdmin中,当发生这种情况时,我可以在“显示进程列表”中看到很多用户“未经身份验证的用户”的进程,命令“连接”和状态“从网络读取”。数据库使用InnoDB,但我也使用一个运行MyISAM的表来执行全文搜索。服务器内存约4GB,使用中不到500MB。我一直在使用MySql中的慢查询日志来查找不使用索引的查询。我还认为我需要对服务器变量进行一些更改/调整。我真的可以在这里使用一些帮助,因此我在这里发布了SHOWGLOBALSTATUS和SHOWGLOBALVARIABLES,也许你可以给我一些我应该如何设置变量的想法?当前显示全局状

mysql - 在 WHERE 子句中使用时,子查询是否被 MySQL 缓存?

在以下查询中:SELECTcolumn_a,column_bFROMtable_aWHEREcolumn_bIN(SELECTb_idFROMtable_b)子查询SELECTb_idFROMtable_b是不是被SQL解析器缓存了,还是提前做查询会更快,保存为变量(例如PHP中),然后通过那些值作为CSV字符串?例如SELECTcolumn_a,column_bFROMtable_aWHEREcolumn_bIN(1,3,4,6,8,10,16,18) 最佳答案 研究使用EXPLAINEXTENDED来充分说明对子查询的处理效果。

mysql - 在 WHERE 子句中使用时,子查询是否被 MySQL 缓存?

在以下查询中:SELECTcolumn_a,column_bFROMtable_aWHEREcolumn_bIN(SELECTb_idFROMtable_b)子查询SELECTb_idFROMtable_b是不是被SQL解析器缓存了,还是提前做查询会更快,保存为变量(例如PHP中),然后通过那些值作为CSV字符串?例如SELECTcolumn_a,column_bFROMtable_aWHEREcolumn_bIN(1,3,4,6,8,10,16,18) 最佳答案 研究使用EXPLAINEXTENDED来充分说明对子查询的处理效果。

php - 使用索引改进 MySQL 表

我对MySQL中的索引非常陌生。我知道,我可能应该早点知道,但大多数项目都足够小,我可以不用它;)所以,现在我正在测试它。我通过在查询上运行EXPLAIN进行了测试:查询:EXPLAINSELECTa.*FROM`tff__keywords2data`ASaLEFTJOIN`tff__keywords`ASbONa.keyword_id=b.idWHERE(b.keyword='dog'||b.keyword='black'||b.keyword='and'||b.keyword='white')GROUPBYa.data_idHAVINGCOUNT(a.data_id)=4首先,没有

php - 使用索引改进 MySQL 表

我对MySQL中的索引非常陌生。我知道,我可能应该早点知道,但大多数项目都足够小,我可以不用它;)所以,现在我正在测试它。我通过在查询上运行EXPLAIN进行了测试:查询:EXPLAINSELECTa.*FROM`tff__keywords2data`ASaLEFTJOIN`tff__keywords`ASbONa.keyword_id=b.idWHERE(b.keyword='dog'||b.keyword='black'||b.keyword='and'||b.keyword='white')GROUPBYa.data_idHAVINGCOUNT(a.data_id)=4首先,没有