Mysql
一、Mysql 存储程序
MySQL支持把几种对象存放在服务器端供以后使用。这几种对象有一些可以根据情况通过程序代码调用,有一些会在数据表被修改时自动执行,还有一些可以在预定时刻自动执行。它们可以分为以下几种。
1.存储函数(stored function)。返回一个计算结果,该结果可以用在表达式里。
2.存储过程(stored procedure)。不直接返回一个结果,但可以用来完成一般的运算或是生成一个结果集并传递回客户。
3.触发器(trigger)。与数据表相关联,当那个数据表被INSERT、DELETE或UPDATE语句修改时,触发器将自动执行。
4.事件(event)。根据时间表在预定时刻自动执行。
二、Mysql 索引
定义:索引(Index)是帮助MySQL高效获取数据的数据结构。索引的本质:索引是数据结构。
索引的优点与缺点:
1.优点:a.所有的MySql列类型(字段类型)都可以被索引,也就是可以给任意字段设置索引
b.大大加快数据的查询速度
2.缺点:a.创建索引和维护索引要耗费时间,并且随着数据量的增加所耗费的时间也会增加。(耗费时间)
b.索引也需要占空间,我们知道数据表中的数据也会有最大上线设置的,如果我们有大量的索引,索引文件可能会比数据文件更快达到上线值。(耗费空间)
c.当对表中的数据进行增加、删除、修改时,索引也需要动态的维护,降低了数据的维护速度。(影响维护速度)
二、索引的分类
1.索引的类型 (index_class)
2.普通索引: MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。
3.唯一索引: 索引列中的值必须是唯一的,但是允许为空值
4.主键索引: 是一种特殊的唯一索引,不允许有空值
5.全文索引: 只能在CHAR,VARCHAR,TEXT类型字段上使用全文索引,介绍了要求,说说什么是全文索引,就是在一堆文字中,通过其中的某个关键字等,就能找到该字段所属的记录行,比如有"好人,二货 ..."
6.空间索引: 空间索引是对空间数据类型的字段建立的索引,MySQL中的空间数据类型有四种,GEOMETRY、POINT、LINESTRING、POLYGON。在创建空间索引时,使用SPATIAL关键字。