文件名称:创建索引-oracle 12c创建可插拔数据库(pdb)与用户详解
文件大小:1.21MB
文件格式:PDF
更新时间:2024-06-22 11:27:42
SQL server 实验指导
4.1 设计索引 当 Microsoft SQL Server 2000 执行查询时,查询优化器会对可用的数据检索方法的成本进行评估,从 中选用 有效的方法。SQL Server 可以扫描表,如果索引存在则使用索引。当 SQL Server 执行表扫描 时,它从表的第一行开始逐行查找,将符合查询条件的行提取出来。当 SQL Server 使用索引时,它会查 找查询所需的行的存储位置,并只提取出所需的行。 在考虑是否为一个列创建索引时,应考虑被索引的列是否以及如何用于查询中。索引对下列查询很 有帮助: 搜索符合特定搜索关键字值的行(精确匹配查询)。精确匹配比较是指查询使用 WHERE 语句 指定具有给定值的列条目。例如: WHERE emp_id = 'VPA30890F' 搜索其搜索关键字值为范围值的行(范围查询)。范围查询是指查询指定其值介于两个值之间的 任何条目。例如: WHERE job_lvl BETWEEN 9 and 12 或 WHERE job_lvl >= 9 and job_lvl <= 12 在表 T1 中搜索根据联接谓词与表 T2 中的某个行匹配的行(索引嵌套循环联接)。 在不进行显式排序操作的情况下产生经排序的查询输出,尤其是经排序的动态游标。 在不进行显式排序操作的情况下,按一种有序的顺序对行进行扫描,以允许基于顺序的操作, 如合并联接和流聚合。 以优于表扫描的性能对表中所有的行进行扫描,性能提高是由于减少了要扫描的列集和数据总 量(该查询有覆盖索引可供使用)。 搜索插入和更新操作中重复的新搜索关键字值,以实施 PRIMARY KEY 和 UNIQUE 约束。 搜索已定义了 FOREIGN KEY 约束的两个表之间匹配的行。 使用 LIKE 比较进行查询时,如果模式以特定字符串如"abc%"开头,使用索引则会提高效率;如果 模式以通配符如"%xyz"开头,则索引不起作用。 在很多查询中,索引可以带来多方面的好处。例如,索引除了可以覆盖查询外,还使得可以进行范 围查询。SQL Server 可以在同一个查询中为一个表使用多个索引,并可以合并多个索引(使用联接算法), 以便搜索关键字共同覆盖一个查询。另外,SQL Server 会自动确定利用哪些索引进行查询,并且能够在 表被改动时确保该表的所有索引都得到维护。 4.2 创建索引 确定了索引设计后,便可以在数据库的表上创建索引。 Microsoft SQL Server 2000 自动创建唯一索引,以强制实施 PRIMARY KEY 和 UNIQUE 约束的唯 一性要求。除非表中已存在聚集索引,或者显式指定了非聚集索引,否则将会创建一个唯一的聚集索引, 以实施 PRIMARY KEY 约束。除非显式指定了聚集索引,否则,默认情况下创建唯一的非聚集索引以强 40