![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
TheSixOneNine
个人博客: https://thesixonenine.site/
展开
-
【慕课网_性能优化之MySQL优化_学习】【06】
子查询优化子查询优化为连接查询a表中的某一列数据在b表中也有,但在b表中可能有重复的情况可以使用连接查询加DISTINCT来代替子查询group by优化查询演员及演员所参演的电影数量:EXPLAIN SELECT actor.first_name,actor.last_name,COUNT(*) FROM film_actor INNER JOIN actor USI原创 2017-10-26 11:52:29 · 319 阅读 · 0 评论 -
【慕课网_性能优化之MySQL优化_学习】【10】
数据库结构优化1、选择合适的数据类型a.使用可以存下数据的最小的数据类型b.使用简单的数据类型,例如int比varchar在mysql]处理要简单c.尽可能使用not null定义字段,给出默认值d.尽量少用text等类型,非用不可的时候考虑分表eg:使用int来存储时间,利用CREATE TABLE test(id INT AUTO_INCREMENT NOT原创 2017-10-26 16:26:56 · 275 阅读 · 0 评论 -
【慕课网_性能优化之MySQL优化_学习】【09】
索引的维护及优化 --- 重复及冗余索引重复索引: 相同的列以相同的顺序建立同类型的索引CREATE TABLE test (id INT NOT NULL PRIMARY KEY,NAME VARCHAR(20) NOT NULL,title VARCHAR(50) NOT NULL,UNIQUE(id))ENGINE = INNODB;本来id就是主键了是唯一索原创 2017-10-26 15:39:17 · 313 阅读 · 0 评论 -
【慕课网_性能优化之MySQL优化_学习】【08】
索引优化在哪些列建立索引?1、在where从句中,group by从句,order by从句,on从句中出现的列2、索引字段越小越好3、离散度大的列放到联合索引前面SELECT * FROM payment WHERE staff_id = 2 AND customer_id = 584是index(staff_id,customer_id)还是index(custom原创 2017-10-26 15:24:03 · 333 阅读 · 0 评论 -
【慕课网_性能优化之MySQL优化_学习】【07】
Limit语句的优化EXPLAIN SELECT film_id,description FROM film ORDER BY title LIMIT 50,5使用了表扫描的操作,扫描了1000行的记录,同时使用了文件排序------>IO问题优化: 使用有索引的列或主键进行ORDER BY操作EXPLAIN SELECT film_id,description FRO原创 2017-10-26 12:13:06 · 349 阅读 · 0 评论 -
【慕课网_性能优化之MySQL优化_学习】【01】
Test原创 2017-08-28 17:06:22 · 493 阅读 · 0 评论 -
【慕课网_性能优化之MySQL优化_学习】【02】
mysql慢查询分析工具: mysql官方出品: mysqldumpslow在命令行下使用: mysqldumpslow -t 3 文件路径mysqldumpslow -t 3 /usr/local/mysql/log/mysql_slow_query.log | more结果中第一条: 执行了一次,执行时间是11.79秒,锁定了0秒,扫描了83行Count: 1 Tim原创 2017-10-25 17:28:00 · 345 阅读 · 0 评论 -
【慕课网_性能优化之MySQL优化_学习】【03】
使用explain查询sql的执行计划table: 查询的表type: 可选值: const,eq_reg,ref,range,index,all possible_keys: 可能应用在这个表中的索引key: 实际使用的索引,如果为null,则没有使用索引key_len: 使用的索引的长度,越短越好ref: 显示索引被哪一列使用了rows: mysql认为必须检查的用原创 2017-10-25 17:55:51 · 293 阅读 · 0 评论 -
【慕课网_性能优化之MySQL优化_学习】【04】
Max()优化CREATE INDEX idx_paydate ON payment(payment_date)原创 2017-10-26 10:23:06 · 220 阅读 · 0 评论 -
【慕课网_性能优化之MySQL优化_学习】【05】
Count优化同时取出sakila数据库中的film表中2006和2007年电影的数量SELECT COUNT(release_year = '2006' OR NULL) AS '2006年电影数量',COUNT(release_year = '2007' OR NULL) AS '2007年电影数量' FROM filmtips: count(*)与count(列名)的区别:原创 2017-10-26 10:50:14 · 255 阅读 · 0 评论 -
【慕课网_性能优化之MySQL优化_学习】【11】
数据库结构优化表的范式化和反范式化1、范式化优化可参见: 知乎高赞回答2、反范式化优化为提高查询效率,把原来符合范式的表进行适当的冗余,以达到优化查询效率的目的,是一种空间换时间的操作eg: 以下的表是符合范式要求的四张表如果查询订单信息,则至少要关联四张表根据表结构,这个sql几乎不可能优化,因为表的结构就这样了反范原创 2017-10-26 17:01:53 · 355 阅读 · 0 评论