索引SQL

--索引:就是为了查询提高效率的。相当于一个引用,可以快速找到数据的位置
--聚集索引:索引的顺序就对应着内容的顺序,所以聚集索引意味着排序
--非聚集索引:索引的顺序和内容的顺序没有本质的关联
--语法:
--create clustered|nonclustered index IX_名称
--on 表(列)
if exists (select * from sysindexes where name=‘ix_studentname‘)
drop index student.ix_studentname
create nonclustered index ix_studentname
on student(studentname)

时间: 2024-08-15 16:04:34

索引SQL的相关文章

mysql联合索引 sql索引使用

注意:Index(Name,Age)表示在Name,Age两列上建立联合索引 由于索引对数据库的查询性能有着至关重要的影响,下面是我的一些总结和体会: 一个查询一次只能使用一个索引:select name from user where name='plantegg' and age>35 , 如果Index(name); Index(age)的话,MySQL查询优化器会自动选择一个索引来使用: MySQL选择哪个索引,可以这样来看:mysql> show index from photo;

索引+sql优化

索引的概念: 索引是提高查询速度的一种手段.索引有很多种,以下是索引树的结构 要求查询出薪资大于5000的雇员信息,只要在树中找到5000的节点,直接查询该节点右边的数据即可,左边就不用管了,这样提高了查询的效率. 将数据按照索引数据的方式保存需要先创建索引. 基本语法: CREATE  INDEX  索引名   ON   数据表(字段名); 删除索引: DROP INDEX 索引名; 注意:系统默认主键使用索引. 复合索引 一个索引在多个字段上创建,就是一个索引作用于多个字段. 例如:CREA

mysql导出索引sql 导出索引创建语句

SELECT CONCAT('ALTER TABLE `',TABLE_NAME,'` ', 'ADD ', IF(NON_UNIQUE = 1, CASE UPPER(INDEX_TYPE) WHEN 'FULLTEXT' THEN 'FULLTEXT INDEX' WHEN 'SPATIAL' THEN 'SPATIAL INDEX' ELSE CONCAT('INDEX `', INDEX_NAME, '` USING ', INDEX_TYPE ) END, IF(UPPER(INDEX

建索引sql

select * from op_breakrule where hphm='苏A2GD78' show index from op_car_owner; alter table op_car_owner  add index index_chassisid(chassisid) ; drop index index_1 on op_car_owner ;

sql server 2008 索引

微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引)和非聚集索引(nonclustered index,也称非聚类索引.非簇集索引) 我们举例来说明一下聚集索引和非聚集索引的区别: 我们的汉语字典的正文本身就是一个聚集索引.比如,我们要查“吃”字,就会很自然地翻开字典的前几页,因为“吃”的拼音是“chi”,而按 照拼音排序汉字的字典是以英文字母“c”开头并以“z”结尾的,那么“吃”字就自然地排在字典的前部.如果您翻完了所有以“c”开头的部分

SQL SERVER大话存储结构(4)_复合索引与包含索引

索引这块从存储结构来分,有2大类,聚集索引和非聚集索引,而非聚集索引在堆表或者在聚集索引表都会对其 键值有所影响,这块可以详细查看本系列第二篇文章:SQL SERVER大话存储结构_(2)_非聚集索引如何查找到行记录. 非聚集索引内又分为多类:单列索引.复合索引.包含索引.过滤索引等.之前文章有具体分析过非聚集索引的存储情况,但是没有对复合索引及包含索引做过多说明,本文来讲讲这两个索引. 如果转载,请注明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜

怎样让索引仅仅能被一个SQL使用

有个徒弟问我,要创建一个索引,去优化一个SQL,可是创建了索引之后其它 SQL 也要用 这个索引,其它SQL慢死了.要优化的SQL又快.遇到这样的问题咋搞? 一般遇到这样的问题还是非常少的.处理的方法非常多.我简单的给大家介绍一种方法. 还是直接看我实验操作步骤吧. 在SCOTT账户里面创建一个測试表和一个索引 SQL> create table test as select * from dba_objects; 表已创建. SQL> create index idx_test on tes

36. SQL -- 聚集索引和非聚集索引(2)

关于聚集索引与非聚集索引的讨论: A.区别: 聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个 聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续. B.关于索引的几个问题: DEMO 分析: 一个学生表student,里面是学生号id,学生姓名,学生所在城市ID,学生成绩(总分). · 问:如果想按姓名查询,如何做优化? · 答:在姓名字段上建立索引. · 问:建立什么类型的索引? · 答:建立非聚集索引. · 问:为什么? · 答:一般有范围查询的需求,可

37. SQL -- 页分裂如何解决,在查询中强制使用索引

页分裂: 创建聚集索引时,表格内的数据会按照索引的顺序存储在数据库的数据页面中,当新的数据行插入到数据表中,或更新表中的数据时,SQLServer 必须刷新数据在数据库中的存储位置,这样,就导致索引页中的数据存储方式改变,当页中数据已满的情况下,就将会创建一个新页,并将原有页中的一半数据放入新页中,以挪出空间给新的记录行使用.注:当页分裂的次数较多时,会影响效率. 导致页分裂原因: 当一个数据页达到了8K容量,如果此时发生插入或更新数据的操作,将导致页的分裂(又名页拆分): 有聚集索引的情况下: