Welcome 微信登录

首页 / 数据库 / MySQL

深入mysql慢查询设置的详解

深入mysql慢查询设置的详解

在web开发中,我们经常会写出一些SQL语句,一条糟糕的SQL语句可能让你的整个程序都非常慢,超过10秒一般用户就会选择关闭网页,如何优化SQL语句将那些运行时间 比较长的SQL语句找出呢?MySQL给我们提供了一个很好的功能,那就是慢查询!所谓的慢查询就是通过设置来记录超过一定时间的SQL语句!那么如何应用慢查询呢?1.开启MySQL的慢查询日志功能默认情况下,MySQL是不会记录超过一定执行时间的SQL语句的。要开启这个功能,我们需要修改MySQL的配...
如何使用索引提高查询速度

如何使用索引提高查询速度

使用索引提高查询速度1.前言在web开发中,页面模板,业务逻辑(包括缓存、连接池)和数据库这三个部分,数据库在其中负责执行SQL查询并返回查询结果,是影响网站速度最重要的性能瓶颈。本文主要针对MySql数据库,双十一的电商大战,引发了淘宝技术热议,而淘宝现在去IOE(I代表IBM的缩写,即去IBM的存储设备和小型机;O是代表Oracle的缩写,也即去Oracle数据库,采用MySQL和Hadoop替代的解决方案,;E是代表EMC2,即去EMC2的设备性,用...
深入MYSQL字符数字转换的详解

深入MYSQL字符数字转换的详解

1.将字符的数字转成数字,比如"0"转成0可以直接用加法来实现例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决select * from pony order by (d+0)2.在进行ifnull处理时,比如 ifnull(a/b,"0") 这样就会导致 a/b成了字符串,因此需要把"0"改成0,即可解决此困扰3.比较数字和varchar时,比如a=11,b="11ddddd";则 select 11="11ddddd"相等若...
用SQL实现统计报表中的"小计"与"合计"的方法详解

用SQL实现统计报表中的"小计"与"合计"的方法详解

客户提出需求,针对某一列分组加上小计,合计汇总。网上找了一些有关SQL加合计的语句。都不是很理想。决定自己动手写。思路有三个:1.很多用GROUPPING和ROLLUP来实现。 优点:实现代码简洁,要求对GROUPPING和ROLLUP很深的理解。 缺点:低版本的Sql Server不支持。2.游标实现。 优点:思路逻辑简洁。 缺点:复杂和低效。3.利用临时表。 优点:思路逻辑简洁,执行效率高。SQL实现简单。 缺点:数据量大时耗用内存.综合三种情况,决定...
如何在SQL Server中实现 Limit m,n 的功能

如何在SQL Server中实现 Limit m,n 的功能

在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录,例如:复制代码 代码如下:select * from tablename limit m, n但是,在SQL Server中,不支持 Limit 语句。怎么办呢?解决方案:虽然SQL Server不支持 Limit ,但是它支持 TOP。我们以SQL Server 2005为例,就以它自带的示范数据库 AdventureWorks 作为测试数据:复制代码 代码如下:select id ...
深入MySQL存储引擎比较的详解

深入MySQL存储引擎比较的详解

MyISAM是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。 InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。MEMORY存储引擎使用存在内存中的内容来创建表。每个MEMORY表只实际对应一个磁盘文件。MEMORY类型的表访问非常得快,因为它的数据是放在内存中的,并且默认使用HASH...
mysql中event的用法详解

mysql中event的用法详解

一、基本概念mysql5.1版本开始引进event概念。event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。二、适用范围对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理。例如:使用event在每月的1日凌晨1点自动创建下个月需要使用的三张表。三、使用权限单独使用ev...
MySQL查询优化--调整内部变量的详解

MySQL查询优化--调整内部变量的详解

MySQL是如此的开放,所以可轻松地进一步调整其缺省设置以获得更优的性能及稳定性。需要优化的一些关键变量如下: 改变索引缓冲区长度(key_buffer) 一般,该变量控制缓冲区的长度在处理索引表(读/写操作)时使用。MySQL使用手册指出该变量可以不断增加以确保索引表的最佳性能,并推荐使用与系统内存25%的大小作为该变量的值。这是MySQL十分重要的配置变量之一,如果你对优化和提高系统性能有兴趣,可以从改变 key_buffer_size变量的值开始...
<< 81 82 83 84 85 86 87 88 89 90 >>