【Mysql进阶技巧(2)】利用mysql生成唯一序号

2019-06-28
阅读 1 分钟
3.8k
在数据库分表或者程序自己需要唯一id的情况下,我们需要一个生成唯一id的方案。可以编写一个综合时间和某些特征生成唯一id的程序,也可以考虑使用数据库里自增id的特性来实现这个需求,下面举个mysql的例子。首先创建一个专门生成id的表,其中id字段是主键,replace_key字段为唯一键。

【Mysql进阶技巧(1)】 MySQL的多表关联与自连接

2019-06-27
阅读 11 分钟
2.2k
上面两条自连接sql都比较难理解,但只要换个角度,其实理解起来也很容易,首先在mysql中要把select翻译为输出,并且要满足where以后才输出;输出以后再分组,分组以后才轮到排序,排序之后才轮到取几个

【Mysql问题集锦(1)】mysql不能使用innodb存储引擎

2019-06-26
阅读 1 分钟
1.4k
案例:一台服务器,操作系统centos,使用 yum 安装mysql ,之前innodb存储引擎一直是可以用的,某天之后,突然不能用了,使用innodb存储引擎的数据库导入后存储引擎全部变成了myisam.进入mysql,

【mysql的编程专题③】内置函数

2016-07-30
阅读 11 分钟
2.3k
常用abs(x) 返回x的绝对值floor(x) 返回小于x的最大整数值mod(x,y) 返回x/y的模(余数)rand() 返回0到1内的随机值,可以通过提供一个参数(种子)使rand()随机数生成器生成一个指定的值。truncate(x,y) 返回数字x截短为y位小数的结果round(x,y) 返回参数x的四舍五入的有y位小数的值

【mysql的编程专题②】触发器

2016-07-29
阅读 3 分钟
1.9k
类似tp里面的数据模型回调接口,在数据表增删改的前或后触发执行其他的预订的sql;一个触发器要具备4要素:1.监视地点 -- 要执行触发器的表2.监视事件 -- 由什么DML事件来牵引3.触发时间 -- 是在DML事件发生的前或后4.触发事件 -- 要触发执行的预订sql,也是DML

【mysql的编程专题①】流程控制与其他语法

2016-07-28
阅读 5 分钟
1.9k
流程控制与内置函数,一般用在select的field字段上,或者用在函数,存储过程,触发器中;如果用在select上就会随着query出来的row来隐式迭代;

【mysql的设计与优化专题(6)】mysql索引攻略

2016-07-27
阅读 7 分钟
2.8k
所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找,而用的最多,并且是mysql默认的就是二叉树算法 BTREE,通过BTREE算法建立索引的字段,比如扫描20行就能得到未使用BTREE前扫描了2^20行的结果,具体的实现方式后续本博客会出一个算法专...

【mysql的设计与优化专题(5)】慢查询详解

2016-07-25
阅读 9 分钟
3.4k
show [session|global] status like .... 如果你不写 [session|global] 默认是session 会话,只取出当前窗口的执行,如果你想看所有(从mysql 启动到现在,则应该 global)

【mysql的设计与优化专题(4)】表的垂直拆分和水平拆分

2016-07-25
阅读 1 分钟
2.3k
垂直拆分 垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表通常我们按以下原则进行垂直拆分: 把不常用的字段单独放在一张表; 把text,blob等大字段拆分出来放在附表中; 经常组合查询的列放在一张表中; 垂直拆分更多时候就应该在数据表设计之初就执行的步骤,然后查询的时候用jion关键起来即可; 水平拆分 水...

【mysql的设计与优化专题(3)】字段类型与合理的选择字段类型

2015-12-21
阅读 6 分钟
5.2k
MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分(UNSIGNED)或者用零填补(ZEROFILL)。

【mysql的设计与优化专题(2)】数据中设计中的范式与反范式

2015-12-21
阅读 2 分钟
3.4k
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。但是有些时候一昧的追求范式减少冗余,反而会降低数据读写的效率,这个时候就要反范式,利用空间来换时间。

【mysql的设计与优化专题(1)】ER图,数据建模与数据字典

2015-11-27
阅读 3 分钟
6.5k
需求分析是做项目中的极为重要的一环,而作为整个项目中的'血液'--数据,更是重中之重。viso,workbench,phpmyadmin等软件可以帮我们更好的处理数据分析问题。