随笔分类 - Mysql
编程,优化,安全,mysql高级
摘要:常用正则表达式举例 整数或者小数:^\d+\.?\d{0,2}$ 只能输入数字:"^[0 9] $"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{n,}$"。 只能输入m~n位的数字:。"^\d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1 9][0 9
阅读全文
摘要:所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找,而用的最多,并且是mysql默认的就是二叉树算法 BTREE,通过BTREE算法建立索引的字段,比如扫描20行就能得到未使用BTREE前扫描了2^20行的结果,具体的实现方式后续本博客会出一个算法专题里面会有具体的分析讨论;
阅读全文
摘要:当Mysql性能下降时,通过开启慢查询来获得哪条SQL语句造成的响应过慢,进行分析处理。当然开启慢查询会带来CPU损耗与日志记录的IO开销,所以我们要间断性的打开慢查询日志来查看Mysql运行状态。
慢查询能记录下所有执行超过long_query_time时间的SQL语句, 用于找到执行慢的SQL, 方便我们对这些SQL进行优化.
阅读全文
摘要:垂直拆分
垂直拆分是指数据表 列的拆分 ,把一张列比较多的表拆分为多张表 通常我们按以下原则进行垂直拆分:
1. 把不常用的字段单独放在一张表;
2. 把text,blob等大字段拆分出来放在附表中;
3. 经常组合查询的列放在一张表中; 垂直拆分更多时候就应该在数据表设计之初就执行的步骤...
阅读全文
摘要:本篇博客稍微有点长,它实际上包括两个内容:一是mysql字段类型的介绍,二是在mysql建表过程中是如何正确选择这些字段类型; 字段类型 数值
MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。
许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持...
阅读全文
摘要:设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。但是有些时候一昧的追求范式减少冗余,反而会降低数据读写的效率,这个时候就要反范式,利用空间来换时间。 目前关系数据库有六种范式:第一范式(1NF)、第...
阅读全文
摘要:需求分析是做项目中的极为重要的一环,而作为整个项目中的'血液' 数据,更是重中之重。viso,workbench,phpmyadmin等软件可以帮我们更好的处理数据分析问题。 ER图 E R方法是“实体 联系方法”(Entity Relationship Approach)的简称。它是描述...
阅读全文
摘要:自连接 测试数据准备 sql
CREATE TABLE ( int(11) NOT NULL, char(1) DEFAULT NULL, int(11) DEFAULT NULL, int(11) DEFAULT NULL, PRIMARY KEY ( )
) ENGINE=MyI...
阅读全文
摘要:视图是表的一个映射,是一张虚表,在结构上视图和普通的表没什么区别,一样可以用sql语句来增删改查; 视图创建后是一直存在数据库内 操作 创建视图 语法 + algorithm表示视图选择的算法(可选参数) Merge: 当引用视图时,引用视图的sql语句与定义sql视图的语句合并...
阅读全文
摘要:用户自定义函数(user-defined function,UDF) 是一种对mysql的扩展途径,其用法与内置函数相同
阅读全文
摘要:####B.1. 服务器错误代码和消息 服务器错误信息来自下述源文件: + 错误消息信息列在share/errmsg.txt文件中。“%d”和“%s”分别代表编号和字符串,显示时,它们将被消息值取代。+ 错误值列在share/errmsg.txt文件中,用于生成include/mysqld_erro...
阅读全文
摘要:类似函数,但是没有返回值,把sql进行封装,便于多次使用或多种应用程序共享使用.不能用在SQL语句中,只能使用CALL调用; 创建存储过程 语法 是存储过程的名称; 表示存储过程的参数列表; 指定存储过程的特性; 参数是SQL代码的内容,多条sql以 隔开,可以用 来标志SQL代码的开...
阅读全文
摘要:数学函数 常用 abs(x) 返回x的绝对值floor(x) 返回小于x的最大整数值mod(x,y) 返回x/y的模(余数)rand() 返回0到1内的随机值,可以通过提供一个参数(种子)使rand()随机数生成器生成一个指定的值。truncate(x,y) 返回数字x截短为y位小数的结果roun...
阅读全文
摘要:类似tp里面的数据模型回调接口,在数据表增删改的前或后触发执行其他的预订的sql;
一个触发器要具备4要素:
1.监视地点 要执行触发器的表
2.监视事件 由什么DML事件来牵引
3.触发时间 是在DML事件发生的前或后
4.触发事件 要触发执行的预订sql,也是DML 创建触发器 实...
阅读全文
摘要:流程控制与内置函数,一般用在select的field字段上,或者用在函数,存储过程,触发器中; 如果用在select上就会随着query出来的row来隐式迭代; 注释与语句结束符 语句结束符默认有两个: 和 可以使用delimiter 命令来修改语句结束符,例如: delimiter $$(注意...
阅读全文