自己整合的lamp中mysql查询时间 比 xampp中的mysql 慢了一倍左右

发布于 2021-11-12 06:48:13 字数 1601 浏览 938 评论 9

公司有一台windows服务器 ,用的xampp整和包。现在公司又添加一台服务器,我用的是自己整合的lamp ,都是分开的源码安装  。2个相同的服务器 。 4G内存 ,8核CPU的IBMx3550。

完成后,用phpmyadmin 进入数据库 ,用的是phpmyadmin 的搜索功能 测试 数据库的查询时间。

问题出现了:用xampp的查询速度 比 我Linux自己整合的 快了整整一倍多。 找了2天找不到原因,请各位大侠指点。

 

注:
mysql  
 ./configure --prefix=/usr/local/mysql --with-plugins=innobase --with-charset=utf8 --with-extra-charsets=all --enable-assembler 

php   
 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2 --with-gd=/usr/local/gd2 --with-jpeg-dir=/usr/local/jpeg6 --with-zlib-dir=/usr/local/lib --with-png-dir=/usr/local/png --with-freetype-dir=/usr/local/freetype --enable-xml --enable-mbstring --enable-sockets --with-mcrypt=/usr/local/include --with-openssl-dir=/usr/local/ssl --with-openssl=/usr/local/ssl --enable-soap 

//my.cnf

port            = 3306
socket          = /tmp/mysql.sock
skip-locking

max_connections = 1000
max_connect_errors = 10

table_cache  = 2048


key_buffer = 512M
sort_buffer_size = 8M

max_allowed_packet = 64M

table_open_cache = 512

join_buffer_size = 8M

binlog_cache_size = 1M

max_heap_table_size = 128M

tmp_table_size=256M

thread_stack = 256K
thread_cache_size = 16
thread_cache = 8

query_cache_size = 512M

key_buffer_size = 512M
read_buffer_size = 8M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 16M

myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 4G
myisam_repair_threads = 1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

悲喜皆因你 2021-11-16 05:09:16

我试了很久,总是这样。 不过利用索引查询 速度就基本查不多了,差距只有0.0001 -0.0005 左右。

不经过索引的 LIKE '%xxxx%' ,还是不起作用。差距还是很明显。

初见你 2021-11-16 04:59:09

mysql 5.1.41  ,xampp  1.7.3

等风来 2021-11-16 04:43:07

说一下你的mysql版本和xampp版本

奢华的一滴泪 2021-11-15 21:44:39

那么索引不用的话 ,

像 LIKE '%xxxx%'  这种语句 ,查询时间 差2倍,还是存在这个问题。

兮颜 2021-11-15 20:02:37

你这个SQL没办法使用索引的,建了也白搭。

至于测试数据库的索引,很简单,只需要在 SQL 语句前面加一个 EXPLAIN 就可以

建议使用 Navicat 工具,内置了 EXPLAIN 功能。

EXPLAIN 出来的结果中,每个字段的意思要去看一下 MySQL 的文档,具体代表的是什么意思。

坐在坟头思考人生 2021-11-15 19:46:33

LIKE ‘str%' 才能会使用上索引。

甜柠檬 2021-11-15 09:44:03

原来如此。那么用什么语句来来测试数据库的索引呢?

还有像 LIKE '%xxxx%'  这种语句 ,2个也差了太多了吧。  

非常谢谢 贱客 

平定天下 2021-11-15 08:22:10

像你说的这种查询,LIKE '%xxxx%' ,数据库的索引是不起作用的。

带上头具痛哭 2021-11-14 21:26:00

是的 。 差了一倍左右 。

比如 一条语句 

SELECT * 
FROM `segment` 
WHERE `segment2` LIKE '%摩托罗拉%' 
LIMIT 0 , 30

windows下的xampp 查询花费 0.0150 秒

Linux下自己整合的LAMP  查询花费 0.0347 秒

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文