
Mysql
想你的夜713
谁的青春不迷茫我的青春我做主
展开
-
Mysql之我见六(查询截取分析)
(1)查询优化1.优化原则:小表驱动大表,即小的数据集驱动大的数据集2.Exists和In的区别Exists语法:select * from table where exists(subquery)将主查询的数据,放到子查询中做条件验证,根据条件的验证结果(true 或者 false)来决定查询的数据结果是否可以保留。A: exists(subqury)只返原创 2017-12-08 17:43:57 · 271 阅读 · 0 评论 -
Mysql之我见八(锁)
1.锁锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算机(cpu、RAM、I/O等)的争用以外,数据也是一种供多用户共享的资源,如何保证数据并发访问的一致性、有效是所有数据必须解决的一个问题,锁冲突也是影响数据库并发性能的一个重要因素,从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。读锁(共享锁):针对同一份数据,多个读操作可以同事进行而不相原创 2017-12-11 10:32:40 · 166 阅读 · 0 评论 -
Mysql之我见九(表锁)
(1)表锁分析可以通过检查table_locks_waited和table_locks_immediate状态变量来分析系统上表锁定:SQL:show status like 'table%';重要结论:Myisam的读写锁调度是写优先,这也是myisam不适合做写主表的引擎,因为写锁后,其它线程不能做任何操作,大量的更新会使查询很难得到锁,从而造成永久阻塞。原创 2017-12-11 10:35:03 · 277 阅读 · 0 评论 -
Mysql之我见十(行锁)
(1)InnoDB同MyISAM对比缺点:InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度最小,发生锁冲突的概率最低,并发度也不高。优点: InnoDB同MyISAM的最大不同有:支持事务、采用了行级锁。事务:由一组SQL语句组成的逻辑单元,事务具有以下4个属性,通常简称为事务的ACID属性。原子行(Atomicity):事务是一个原子的操作单元,其对数据的修改,要么全部原创 2017-12-10 22:17:05 · 405 阅读 · 0 评论 -
Mysql之我见一(基础知识)
1.Mysql简介2.Mysql配置文件3.Mysql逻辑架构和其它数据库相比,Mysql有点与众不同,它的架构可以在多种不同的场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插拔式存储架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。(1)连接层最上一层是一些客户端和连接服务,原创 2017-12-06 19:04:30 · 198 阅读 · 0 评论 -
Mysql之我见二(索引)
1.索引Mysql官方对索引的定义为:Index是帮助Mysql高效获取数据的数据结构。(其本质索引是数据结构)也可以简单的理解为“排好序的快速查找的数据结构”。数据本身之外,数据库还维护着一个满足特定查找算法的数据结构,这些数据结构以某张方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法这种数据结构就是索引。2.常用的创建索引的方法原创 2017-12-06 19:12:49 · 192 阅读 · 0 评论 -
Mysql之我见三(join查询)
1.Sql解析2.常见join查询SELECT * FROM staff;SELECT * FROM department;(1)内链接(通俗的说就是取2张表的公共部分)select from TableA A inner join TableB B on A.Key=B.Key;SELECT * FROM staff原创 2017-12-06 19:22:20 · 611 阅读 · 0 评论 -
Mysql之我见四(索引优化)
(1)索引失效的常见情况1.全值匹配2.最佳左前缀法则,如果索引有多列,要遵循最左前缀法则,指的是查询冲索引的最左前列开始并且 不跳过索引中的列。3.不要在索引上做任何的操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描4.存储引擎不能使用索引中范围条件右边的列5.尽量使用覆盖索引(只访问索引的查询(索引和查询的列一致)),减小select *6原创 2017-12-07 15:12:15 · 186 阅读 · 0 评论