Mysql教程之Windows 7/8下连接本地MySQL慢怎么办_MySQL教程
推荐:MSSQL清空日志删除日志文件最近的项目主要做数据的归档,把数据从一个数据库拉到另一个数据库,造成新数据库的日志文件非常大;或者数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。于是想把日志文件删除。最简单就是先分离数据库-》删除日志文件-》最后
最近本地调试网站的时候个别程序如phpcms一直出现这个问题,速度异常慢,偶尔发现下面的文章,才提醒了我,原来问题这样的。。。
最近在windows上开发应用的时候发现一个有趣的问题:我的本地程序连接本地mysql库居然要延迟1秒钟左右才能打开。
问题分析
考虑到可能是程序性能问题后,我使用了xdebug的性能日志功能输出程序运行日志后发现连接mysql的函数时间居然用掉了接近95%的执行时间。
确认是mysql性能问题后,考虑是mysql的域名反查功能影响了速度,令我失望的是,在my.ini里面关闭域名反查后问题依旧存在。
百思不得其解时我突发奇想将代码中的服务器的地址从localhost修改为了127.0.0.1,那个神奇的1秒钟延迟居然消失了。
换成ip后居然就好了,难道是localhost存在啥蹊跷?打开cmd,输入ping localhost,ping输出的结果让我十分惊讶:
没错,localhost 出来的是 ipv6 地址 ::1,那么这一秒延迟的原因也很容易理解了,使用localhost连接,程序解析出来的地址是ipv6地址::1,然后去尝试连接监听这个地址的mysql, 而显然的是mysql监听的是ipv4地址127.0.0.1, ipv6连不上超时后会再去连接ipv4地址127.0.0.1, 这就是这个1秒钟延迟出现的原因。
打开windows的hosts文件,你会看到下面的注释
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
解决方法
方案1. 使用127.0.0.1而不是localhost去连接mysql。
方案2. 编辑hosts文件强制将127.0.0.1绑定在localhost。
分享:关于数据库中保留小数位的问题本篇文章是对关于在数据库中保留小数位的问题进行了详细的分析介绍,需要的朋友参考下 在数据库中有时我们可能需要对一些数据进行处理,例如四舍五入、直接舍去后面的几位等,其实很简单,都是有现成的函数,我们只需要套用就行了: select round(10.98*10)/10 from dua
- MSSQL清空日志删除日志文件
- 关于数据库中保留小数位的问题
- 解析mysql与Oracle update的区别
- mysql 导入导出数据库以及函数、存储过程的介绍
- MySQL——修改root密码的4种方法(以windows为例)
- 解决MYSQL出现Can''t create/write to file ''#sql_5c0_0.MYD''的问题
- 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
- 解析:内联,左外联,右外联,全连接,交叉连接的区别
- mysql出现“Incorrect key file for table”处理方法
- mysql重装后出现乱码设置为utf8可解决
- 浅析一个MYSQL语法(在查询中使用count)的兼容性问题
- 解析MySQL中INSERT INTO SELECT的使用
- 相关链接:
- 教程说明:
MySQL教程-Mysql教程之Windows 7/8下连接本地MySQL慢怎么办。