- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
声明:此文档是小弟学习时收集而来,感觉比较经典,特分享出来,大家可以共勉。
MYSQL数据库的索引、视图、触发器、游标和存储过程
(1) 索引(index) 1
(2) 视图(view) 2
(3) 触发器(trigger) 6
(4) 游标(cursor) 8
(5) 事务(Transaction) 10
(6) 存储过程(Stored Procedure) 12
索引(index)
索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。优点: 大大加快数据的检索速度; 创建唯一性索引,保证数据库表中每一行数据的唯一性; 加速表和表之间的连接; 在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。缺点: 索引需要占物理空间 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
更好的理解索引的提示:
如果经常使用表中的某一列或某几列为条件进行查询,且表中的数据量比较大时,可以创建索引,以提高查询的速度。
索引是与表关联的可选结构。
通过有目的的创建索引,可以加快对表执行SELECT语句的速度。
不管索引是否存在,都无需修改任何SQL语句的书写方式。索引只是一种快速访问数据的途径,它只影响查询执行的效率。
可以使用CREATE INDEX命令在一列或若干列的组合上创建索引。
创建索引时,将获取要创建索引的列,并对其进行排序。然后,将一个指针连同每一行的索引值存储起来,组成键值对(目录名和页码)。使用索引时,系统首先通过已排序的列值执行快速搜索,然后使用相关联的指针值来定位具有所要查找值的行。
一旦创建了索引,MySQL会自动维护和使用它们。
只要修改了数据,如添加新行、更新现有行或删除行, MySQL都会自动更新索引。
但是为表创建过多的索引会降低更新、删除以及插入的性能,因为MySQL还必须更新与该表关联的索引。
索引的分类
普通索引:这是最基本的索引,它没有任何限制
唯一索引:它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一
主键索引(通过主键约束间接创建):它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引
组合索引:在表中的多个列上创建的索引。组合索引中列的顺序是任意的,可以是相邻的列,也可以是不相邻的列。
索引的创建:
普通(唯一)索引的创建:
CREATE [UNIQUE] INDEX index_name ON tbl_name(index_col_name,…)index_col_name: col_name[(length)][ASC|DESC]对于字符类型的列,可以编制“前缀索引”,Length表示按照列的指定长度的字符串索引
创建组合索引:
CREATE INDEX index_name ON tbl_name(index_col_name1,index_col_name2,..)
基于(列A,列B)两列创建索引:
可应用索引的情况:A;AB两列结合;
不可用索引的情况:B
Create index index_name on table_name(列A,列B);
其他创建索引的方式:
创建表时创建索引:
CREATE TABLE tbl_name
(
列的定义,……,
INDEX|KEY [idx_name](index_col_name)
);
Eg:
CREATE TABLE t1
(tid int primary key, #既创建约束,又创建索引
tname varchar(20),
index idx_tname(tname), #创建一个普通索引
tbirthday date
);
修改表时创建索引:
ALTER TABLE tbl_name ADD INDEX|KEY [idx_name](indxe_col_name);
Eg:
ALTER TABLE t1 ADD KEY (tbirthday);
查看索引:Show index|keys from 表名;(SHOW KEYS FROM t1;)
删除索引:drop index 索引名 on 表名。(drop index c on t3;)
视图(view)
从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进
您可能关注的文档
最近下载
- 发现你的行为风格 -DISC:提高职场沟通效率 完整版.ppt VIP
- 全球数字疗法产业报告.pptx VIP
- 是谁在敲【知识精研】一年级上册音乐粤教花城版.pptx VIP
- 第2课+开放互联——网络协议与标准+课件+2024—2025学年清华大学版(2024)B版初中信息技术七年级上册.pptx VIP
- 一株双歧杆菌发酵条件的研究.pdf VIP
- 小学四年级英语校本课程.doc VIP
- 中学教育学课程.pptx VIP
- GB_T 3880.2-2024一般工业用铝及铝合金板、带材 第 2 部分力学性能.docx VIP
- 中国国家标准 GB/T 24067-2024温室气体 产品碳足迹 量化要求和指南.pdf
- 三级公共营养师基础知识考试刷题(附答案).doc VIP
文档评论(0)