MySQL
文章平均质量分 92
qqqqq1993qqqqq
这个作者很懒,什么都没留下…
展开
-
MySQL必知必会——查询部分
本文内容:注意事项书写习惯:SQ语句虽然不区分大小写,但是一般书写时,所有SQL语句的关键字大写,而所有列和表名小写,这样使代码更易于阅读和调试。空格:在处理SQL语句时,所有空格都被忽略。分号:必须加分好来结束一个sql语句命名规范:数据库、表、字段等所有名称的可用字符范围为:A-Z,a-z, 0-9 和_下划线行标:表中的第1个数据段是行0,LIMIT关键字中尤其注意关于通配符:谨慎使用,因为有原创 2017-07-23 19:53:00 · 371 阅读 · 0 评论 -
【笔记】高性能MySQL(第三版)——第2章:MySQL基准测试
基准测试(benchmark)是MySQL新手和专家都需要掌握的一项基本技能。简单地说,基准测试是针对系统设计的一种压力测试。通常的目标是为了掌握系统的行为。但也有其他原因,如重现某个系统状态,或者做新硬件的可靠性测试。2.1 为什么需要基准测试基准测试是唯一方便有效的、可以学习系统在给定的工作负载下会发生什么的方法。基准测试可以观察系统在不同压力下的行为,评估系统的容量,掌握哪些转载 2017-09-27 10:27:39 · 439 阅读 · 0 评论 -
【笔记】高性能MySQL(第三版)——第1章:MySQL架构与历史
1.1MySQL服务器逻辑架构最上层的服务并不是MySQL所独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构。比如连接处理、授权认证、安全等等。第二层架构是MySQL比较有意思的部分。大多数MySQL的核心服务功能都在这一层,包括查询解析、分析、优化、缓存以及所有的内置函数(例如,日期、时间、数学和加密函数),所有跨存储引擎的功能都在这一层实现:存储过程、原创 2017-09-26 16:16:59 · 449 阅读 · 0 评论 -
MySQL触发器详解
转自:http://www.cnblogs.com/duodushu/p/5446384.html http://www.cnblogs.com/zzwlovegfj/archive/2012/07/04/2576989.htmlMySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。转载 2017-08-23 16:39:24 · 763 阅读 · 1 评论 -
【数据库】事务实现的机制,checkpoint
本文内容:事务的分类事务实现的机制(undo和redo)checkpoint机制四种事务类型介绍主要注意:链事务与带有保存点的扁平事务不同的是,带有保存点的扁平事务能回滚到任意正确的保存点,而链事务中的回滚仅限当前事务,即只能恢复到最近的一个保存点,对于锁的处理,两者也不相同,锁事务在执行COMMIT后即释放了当前所持有的锁,而带有保存点的扁平事务不影响迄今为止所持有的锁分布式事务的使用原创 2017-07-21 13:36:02 · 1545 阅读 · 0 评论 -
【数据库】 InnoDB的锁机制
本文内容:Innodb锁机制回顾数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性。InnoDB是一个支持行锁的存储引擎,锁的类型有:共享锁(S)、排他锁(X)、意向共享(IS)、意向排他(IX)。为了提供更好的并发,InnoDB提供了非锁定读:不需要等待访问行上的锁释放,读取行的一个快照。该方法是通过InnoDB的一个特性:MVCC来实现的。锁算法InnoDB有三种行锁的算法:1、Re转载 2017-07-20 14:10:21 · 203 阅读 · 0 评论 -
【数据库】隔离级别,锁基础,一致性锁定/非锁定 读
本文内容:数据库中的隔离级别锁的类型幻读举例一致性非锁定读一致性锁定读隔离级别相关语句1.查看当前会话隔离级别select @@tx_isolation;2.查看系统当前隔离级别select @@global.tx_isolation;3.设置当前会话隔离级别set session transaction isolation level repeatable read;4.设置系统当前隔原创 2017-07-19 20:29:14 · 510 阅读 · 0 评论 -
【简记】Java Web 内幕——jdbc基础
本文内容:jdbc介绍jdbc使用java代码(程序)发送sql语句的技术,就是jdbc技术! jdbc是Sun公司设计的一套通用的java语言操作不同数据库的接口。优点: 1)java开发人员只需要维护java应用和一套规范 2)数据库厂商提供具体的java驱动程序,数据库厂商的底层实现改变,不影响java应用程序使用jdbc发送sql前提: 登录数据库服务器(连接数据库服务器)原创 2017-07-12 19:43:19 · 244 阅读 · 0 评论 -
mysql中的索引(聚簇索引和非聚簇索引)
(http://www.cnblogs.com/shijingxiang/articles/4743324.html)Mysql的存储引擎和索引 我们非常容易想象出一个只有单关键字组成的表如何使用B+树进行索引,只要将关键字存储到树的节点即可。当数据库一条记录里包含多个字段时,一棵B+树就只能存储主键,如果检索的是非主键字段,则主键索引失去作用,又变成顺序查找了。这时应该在第二个要检索的列...转载 2017-05-09 15:58:22 · 593 阅读 · 0 评论 -
索引的概念和B树
索引的作用:加快select语句的执行速度,当涉及到大量数据和跨表查询时,效果相当明显为什么需要索引:cpu对数据进行高速处理读取的是内存中的数据。当数据量很大时,数据被存放在磁盘中,需要将磁盘中的数据复制到内存中再进行操作。如果进行的是普通的顺序查找,在最坏情况下,磁盘I/O将会消耗大量时间(和运算操作所花时间不是一个数量级),所以需要一种合理高效的外存数据结构来进行快速定位,减转载 2017-05-08 23:22:41 · 1071 阅读 · 0 评论 -
【数据库】MySQL语句优化建议
本文内容:优化之索引部分语句优化索引如何工作当查询时,Mysql 的查询优化器会使用统计数据预估使用各个索引的代价(COST),与不使用索引的代价(COST)比较。Mysql 会选择代价最低的方式执行查询。Mysql 如何使用索引,可以用下面的伪代码来说明:min_cost = INIT_VALUEmin_cost_index = NONEfor(index in all_indexs):转载 2017-07-24 17:23:22 · 268 阅读 · 0 评论 -
【数据库】19道DB相关面试概念题
1、MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联; 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中; 3. 从:sql执行线程——执行relay log中的语句; mysql的bi转载 2017-07-24 15:40:44 · 431 阅读 · 0 评论 -
MySQL必知必会——增删改+创建表+触发器+用户管理+建索引
本文内容:数据插入以下语句,各个value一一对应表中各列INSERT INTO 表名 VALUES(value1,value2,value3...valuen);也可以写出详细的列名,再进行insert提高多线程环境下性能:INSERT LOW_PRIORITY INTO 优先级较低插入检索出的数据:INSERT INTO 表名 SELECT语句更新和删除数据更新语句: ignore参数,若更新原创 2017-07-23 22:13:54 · 469 阅读 · 0 评论 -
【笔记】高性能MySQL(第三版)——第4章:MySQL基准测试
4.1选择优化的数据类型更小的通常更好。一般应该尽可能使用能正确存储数据的最小数据类型,更小的数据类型通常更快,因为他们占用更少的磁盘、内存和CPU缓存,并且处理需要的CPU周期更少。简单就好。整型比字符串操作代价更低。 两个例子:1、应该用MySQL内建的类型来记录日期和时间 2、应该用整型来存储IP地址(IP地址正好是32位,而且都是01值,可以转换成整形数值)尽量避免null。可为N原创 2017-09-27 11:00:45 · 725 阅读 · 0 评论