mysql数据库
步步为赢567
毕业于华中科技大学,硕士研究生
展开
-
MySql优化-你的SQL命中索引了
在项目开发中SQL是必不可少的,表索也一样.这些SQL的运行性能不知道吗?有多少是命中了索引的?命中哪个索引?索引中有哪个是无效索引?这些无效索引是否会影响系统的性能?带着这些问题我们一起来学习一下. MySql中是通过 Explain 命令来分析低效SQL的执行计划。命令的使用很简单.示例 explain select * from adminlog执行结果:转载 2017-06-20 18:20:20 · 2345 阅读 · 0 评论 -
MySQL的sql_mode 模式修改 my.cnf
1. sql_mode模式 mysql数据库的中有一个环境变量sql_mode,定义了mysql应该支持的sql语法,数据校验等!我们可以通过以下方式查看当前数据库使用的sql_mode: mysql> select @@sql_mode; +----------------------------------------------------------------+转载 2017-07-27 18:00:00 · 1112 阅读 · 0 评论 -
关于distinct 和group by的去重逻辑浅析
在数据库操作中,我们常常遇到需要将数据去重计数的工作。例如:表A,列colACABCDAB 结果就是一共出现4个不同的字母A、B、C、D即结果为4大体上我们可以选择count(distinct col)的方法和group+count的方法。分别为:select count(dis转载 2017-07-27 17:50:31 · 2584 阅读 · 0 评论 -
MySQL Schema 优化(设计优化)
逐步对 schema 做修改— 一个小的变化将产生的巨大的影响。在开发环境测试所有 schema 变动,而不是在生产环境的镜像上去做。 1、保证你的数据库的整洁性。 2、不要过度使用索引,评估你的查询。 3、尽量不要使用text和 blob数据类型,压缩 text和 blob数据类型—为了节省空间,减少从磁盘读数据。(则将 blob/text 数据域原创 2017-07-27 15:23:39 · 646 阅读 · 0 评论 -
mysql优化硬件和操作系统
1、硬件层相关优化 1.1、CPU相关 在服务器的BIOS设置中,可调整下面的几个配置,目的是发挥CPU最大性能,或者避免经典的NUMA问题(Non-Uniform Memory Access,所以使用NUMA的模式如果能尽量保证本node内的CPU只访问本node内的内存块,那这样的效率就是最高的。): 1、选择PerformancePer Watt Optimized(DAP原创 2017-07-27 14:35:55 · 452 阅读 · 0 评论 -
Mysql 服务配置优化
mysql参数的优化:1:缓存设置,内存中会为MySQL保留部分的缓冲区。这些缓冲区可以提高MySQL的速度。缓冲区的大小都是在MySQL的配置文件中进行设置的。2:其他设置,有些也是非常关键的。3:最好有一个测试环境,便于测试你的配置,可以经常重启,不会影响生产环境。缓存设置:使用innodb_flush_method=O_DIRECT 来避免写的时候出现双缓冲区。k原创 2017-07-27 11:00:32 · 587 阅读 · 0 评论 -
MYSQL 优化常用方法
MYSQL 优化常用方法1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为转载 2017-07-25 11:36:32 · 223 阅读 · 0 评论 -
mysql中timestamp数据类型
1:新建该数据类型CREATE TABLE `test` ( `name` int(8) NOT NULL, `time_oper` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`name`,`time_oper`))原创 2017-07-07 15:26:38 · 877 阅读 · 0 评论 -
关系数据库事务隔离级别
关系数据库的四个事务隔离级别,从最低到最高如下:1、未提交读(会发生脏读)一个事务A访问一条数据并修改了它,但尚未提交时,另一个事务B读取了这条数据。这时如果事务A回滚,则出现读脏数据的情况。2、读提交(会发生不可重复读):即同一事务内,多次读同一数据。重点是修改:同样的条件,你读取过的数据,再次读取出来发现值不一样了。一个事务A第一次在读取某条数据后,事务转载 2017-07-11 17:21:07 · 343 阅读 · 0 评论 -
MySQL学习之——索引(普通索引、唯一索引、全文索引、索引匹配原则、索引命中等)
在上一篇博客中,我们主要探讨了关于MySQL锁的一些问题。这一次,我们主要来聊聊,mysql中的索引。MySQL是目前绝大多数互联网公司使用的关系型数据库,它性能出色、资源丰富、成本低廉,是快速搭建互联网应用的首选关系型数据库。但是,俗话说,“好马配好鞍”,仅仅会使用MySQL是不够的,对MySQL在不同场景下使用性能的最小化使用代价,是一个重要的课题。一般,在互联网公司的大部分业务中,读转载 2017-07-11 15:19:22 · 714 阅读 · 0 评论 -
sql查询优化
查询优化:在存有生产环境数据副本的开发环境中,测试所有可疑的查询。1、使用慢查询日志,找出执行慢的查询。2、使用 EXPLAIN来决定查询功能是否合适。3、避免在整个表上使用count(*),它可能会将整个表锁住;count(1)统计主键的数目;count(*)统计整个表格的数目。4、保持查询一致,这样后续类似的查询就能使用查询缓存了。5、如果合适,用 GROUP原创 2017-07-27 18:14:35 · 476 阅读 · 2 评论