获取列值
desc test
使用全文索引
SELECT
*
FROM
`content`
WHERE
MATCH (`content`) AGAINST ('rabbit')
存储过程
# 创建存储过程
DELIMITER //
CREATE PROCEDURE test ()
BEGIN
SELECT
NOW() ;
END//
# 删除存储过程
DROP PROCEDURE test
参数 | 解释 |
---|---|
in | 表示调用者向过程传入值(传入值可以是字面量或变量) 局部变量 |
out | 表示过程向调用者传出值(可以返回多个值)(传出值只能是变量) 全局变量 |
inout | 既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)) 全局变量 |
范式和反范式
范式
- 优点:更新快,数据冗余少
- 缺点:查询关联多
非范式
- 优点:更新慢,数据冗余多
- 缺点:查询关联少,方便
Mysql优化
- 字段优化
- 表优化
- 缓存表和汇总表
- sql优化(索引、NOT NULL)
索引失效的几种情况
- LIKE 前缀%失效,后缀%不失效
- AND 的时候只有一个索引起作用 OR索引不起作用
- 组合索引时,不是使用第一列索引,索引失效
- 隐式转化 varchar->int 索引失效
- NULL索引失效
- 使用函数索引失效
MYSQL分区
一张表存储在多张物理表中,对外查询是一张表查询
CREATE TABLE `employee` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR (255) DEFAULT NULL,
`department_id` INT (11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `dep_id_fk` (`department_id`),
KEY `idx_name` (`name`(250)) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 3 DEFAULT CHARSET = utf8mb4 PARTITION BY RANGE (`id`)(
PARTITION `p1`
VALUES
less than (100),
PARTITION `p2`
VALUES
less than (200),
PARTITION `p3`
VALUES
less than MAXVALUE
)