我正在开发一个需要大量读取mysql表的c#应用程序。该查询如下所示:
SELECT ID3 FROM A INNER JOIN B
USING (ID1)
INNER JOIN C
USING (ID2)
INNER JOIN D
USING (ID3)
WHERE ID3 > @Start AND ID3 <= @End
GROUP BY ID3
HAVING SOME CONDITION
由于这个表很大,我尝试创建20个线程,每个线程都执行一个查询,用来替换
WHERE ID3 > @Start AND ID3 <= @End
使用
WHERE ID3 % 20
我安装了MySQL 5.1.40源代码发行版(64位可执行x86_64),并使用ARCHFLAGS="-arch x86_64“安装了mysql (2.8.1) gem。
我正在使用它进行Rails开发,我的问题是,即使MySQL在各个方面都在工作,它也是非常慢的。
在执行标准rake :迁移时,将此与sqlite3进行比较,创建大约15个表。
MySQL:
time rake db:迁移
实0m4.882 s
用户0m1.426s
sys 0m0.235 s
sqlite3:
time rake db:迁移
实际0m2.282 s
用户0m1.501 s
sys 0m0.2
我刚刚把我12岁的服务器升级为一个非常快速的新服务器。它是一个专用服务器,戴尔R620 1 x Intel E5-2620 (2.0GHz,6C) CPU 32 my -4×250 my RAID 1,简而言之,在每一种方式上都比我的旧服务器快得多。然而,每当我查询MySql数据库时,响应仍然相当缓慢。
装上任何静电都是闪电般的速度。此外,当我看到我的另一个网站(这个服务器托管两个网站),利用Mongodb,它是快速照明。目前我只使用+- 2.5Gb或32 of中的ram。是否为MySql设置了一些允许它使用更多资源以加快速度的设置?或者,我还能做什么(只处理设置或MySql查询)来加速这个缓
生产环境下,我登录mySQL数据库后,上面显示的IP如下:
服务器: Localhost via UNIX socket
服务器类型: MySQL
服务器版本: 5.7.18 - MySQL Community Server (GPL)
协议版本: 10
用户: root@localhost
服务器字符集: UTF-8 Unicode (utf8)
[附加信息]