2018年7月23日

mysql 开发进阶篇系列 5 SQL 优化(表优化)

摘要: 一. 使用sql提示 sql 提示(sql hint)是优化数据库的一个重要手段, 是在sql语句中加入一些人为的提示来达到优化操作的目的。 1.1 use index 在查询语句中表名的后面,添加use index 强制mysql使用该索引,不考虑其它索引。 1.2 ignore index 在查 阅读全文

posted @ 2018-07-23 11:57 花阴偷移 阅读(514) 评论(0) 推荐(0) 编辑

2018年7月20日

mysql 开发进阶篇系列 4 SQL 优化(各种优化方法点)

摘要: 1 通过handler_read 查看索引使用情况 如果索引经常被用到 那么handler_read_key的值将很高,这个值代表了一个行被索引值读的次数, 很低的值表明增加索引得到的性能改善不高,索引并不经常使用。 handler_read_rnd_next 的值高 则意味着查询运行低效,应该建立 阅读全文

posted @ 2018-07-20 17:40 花阴偷移 阅读(457) 评论(0) 推荐(0) 编辑

sql server 性能调优之 资源等待PAGELATCH

摘要: 一.概述 在前几章介绍过 sql server 性能调优资源等待之PAGEIOLATCH,PAGEIOLATCH是出现在sql server要和磁盘作交互的时候,所以加个IO两个字。这次来介绍PAGELATCH。PAGELATCH类型是sqlserver在缓冲池里的数据页面上经常加的另一类latch 阅读全文

posted @ 2018-07-20 10:27 花阴偷移 阅读(1569) 评论(0) 推荐(1) 编辑

2018年7月19日

mysql 开发进阶篇系列 3 SQL 优化(索引使用方法)

摘要: 一. 本章介绍mysql中的索引的分类,存储,使用方法的介绍 1. 索引的存储分类 MyISAM存储引擎的表的数据和索引是自动分开存储的,各自是独立的一个文件, innodb 存储引擎的表的数据和索引是存储在同一个表空间里面,可以有多个文件组成。 MyISAM和Innodb存储引擎都支持btree索 阅读全文

posted @ 2018-07-19 13:48 花阴偷移 阅读(359) 评论(0) 推荐(0) 编辑

2018年7月18日

mysql 开发进阶篇系列 2 SQL优化(explain分析)

摘要: 接着上一篇sql优化来说 1. 定位执行效率较低的sql 语句 通过两种方式可以定位出效率较低的sql 语句。 (1) 通过上篇讲的慢日志定位,在mysqld里写一个包含所有执行时间超过 long_query_time秒的sql语句的日志文件,后面具体介绍。 (2) 通过show processli 阅读全文

posted @ 2018-07-18 14:07 花阴偷移 阅读(518) 评论(0) 推荐(0) 编辑

2018年7月17日

mysql 开发进阶篇系列 1 SQL优化(show status命令)

摘要: 一.概述 随着上线后,数据越来越多,很多sql语句开始显露出性能问题,本章介绍在mysql中优化sql语句的方法。 1. 通过show status 命令了解各种sql的执行频率 通过show [session | global] 命令可以提供服务器状态信息,也可以在操作系统上使用mysqladmi 阅读全文

posted @ 2018-07-17 15:09 花阴偷移 阅读(703) 评论(0) 推荐(0) 编辑

sql server 性能调优之 资源等待 LCk

摘要: 一. 概述 这次介绍实例级别资源等待LCK类型锁的等待时间,关于LCK锁的介绍可参考 “sql server 锁与事务拨云见日”。下面还是使用sys.dm_os_wait_stats 来查看,并找出耗时最高的LOK锁。 select wait_type, waiting_tasks_count, w 阅读全文

posted @ 2018-07-17 09:27 花阴偷移 阅读(5930) 评论(0) 推荐(1) 编辑

2018年7月16日

mysql 开发基础系列22 SQL Model(带迁移事项)

摘要: 一.概述 与其它数据库不同,mysql 可以运行不同的sql model 下, sql model 定义了mysql应用支持的sql语法,数据校验等,这样更容易在不同的环境中使用mysql。 sql model 常用来解决下面几类问题: (1) 通过设置sql mode, 可以完成不同严格程度的数据 阅读全文

posted @ 2018-07-16 18:06 花阴偷移 阅读(1022) 评论(0) 推荐(0) 编辑

mysql 开发基础系列21 事务控制和锁定语句(下)

摘要: 1. 隐含的执行unlock tables 如果在锁表期间,用start transaction命令来开始一个新事务,会造成一个隐含的unlock tables 被执行,如下所示: 会话1 会话2 SELECT * FROM country WHERE country='德国'; 记录为空 SELE 阅读全文

posted @ 2018-07-16 11:01 花阴偷移 阅读(310) 评论(0) 推荐(0) 编辑

2018年7月12日

mysql 开发基础系列20 事务控制和锁定语句(上)

摘要: 一.概述 在mysql 里不同存储引擎有不同的锁,默认情况下,表锁和行锁都是自动获得的,不需要额外的命令, 有的情况下,用户需要明确地进行锁表或者进行事务的控制,以便确保整个事务的完整性。这样就需要使用事务控制和锁定语句来完成。 特点 myisam innodb memory merge ndb 事 阅读全文

posted @ 2018-07-12 16:22 花阴偷移 阅读(346) 评论(0) 推荐(1) 编辑

导航