这两天写了个作业,关于学生选课系统的,随后完成后也会发布到我的博客里面。室友的访问速度几乎是毫秒级,而我的起码要等上四五秒钟。我总结的影响访问速度的原因主要有以下几种:
1、主机名
2、重复开、关数据库
3、后台数据库中的数据过多,没做数据优化导致后台查询数据很慢
解决方法:
1、用IP地址代替localhost:
mysql -h 127.0.0.1 -uroot -p
2、禁止mysql做域名解析: MySQL在处理新的线程连接请求时,会尝试进行DNS解析,如果在host
cache和Hosts里找不到,处理起来就会很慢
因此最直接简便的方法就是禁用该反向解析功能,可以通过修改MySQL的配置文件实现,Linux下是f文件,windows下是my.ini文件,在配置
文件[mysqld]下新增如下一行代码:
skip-name-resolve
然后重启MySQL服务,再次连接发现已是秒连了。
这个方案的不足之处就是,以后在使用grant对用户进行授权时只能使用IP格式,而不能使用主机名称了。
通过修改系统hosts文件也可以实现,举例来说,我想解决192.168.1.100远程连接MySQL服务器缓慢的问题,只需要在MySQL库所在服务器的hosts文件中新增一条记录如下:192.168.1.100
保存退出,再次远程连接该MySQL库,同样很快。之所以说绝,是因为这样设置,你添加记录的
192.168.1.100远程连接速度变快了,其他主机连接速度跟之前一样慢。该方法同样可以解决ssh远程连接某主机响应很慢的问题,原理一样。
3、开一次数据库,等所有数据库操作全部完成后再关闭游标关闭数据库,也能相对的加快访问速度。