精华内容
下载资源
问答
  • Sql联合索引语句

    2020-05-27 15:17:55
    use t0netcoresystem; alter table stockpools add unique index(AccountName, StockCode, TradeDate);
    use t0netcoresystem;
    alter table stockpools add unique index(AccountName, StockCode, TradeDate);

     

    展开全文
  • SQLServer 语句 创建索引

    千次阅读 2018-11-05 19:25:31
    SQLServer 语句 创建索引

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                   

    语法:
    CREATE [索引类型] INDEX 索引名称
    ON 表名(列名)
    WITH FILLFACTOR = 填充因子值0~100
    GO

    /*实例*/
    USE 库名
    GO
    IF EXISTS
    (SELECT * FROM SYSINDEXES WHERE NAME='IX_TEST_TNAME')--检测是否已经存在IX_TEST_TNAME索引
    DROP INDEX TEST.IX_TEST_TNAME--如果存在则删除

    --创建索引
    CREATE NONCLUSTERED INDEX IX_TEST_TNAME --创建一个非聚集索引
    ON TEST(TNAME)  --为TEST表的TNAME字段创建索引
    WITH FILLFACTOR = 30 --填充因子为30%
    GO

    SELECT * FROM TEST(INDEX = IX_TEST_TNAME) WHERE TNAME = 'A' --指定按‘IX_TEST_TNAME’索引查询

    总结:
          1.什么是索引:
    数据库中的索引是某个表中一列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
      2.分类:
         唯一索引(UNIQUE):不允许两行具有相同的索引值(创建了唯一约束,系统将自动创建唯一索引)
         主键索引主键索引要求主键中的每个值是唯一的,(创建主键自动创建主键索引)
         聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引
         非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引
        3.创建索引的标准:用语频繁搜索的列;用语对数据进行排序的列
    注意:如果表中仅有几行,或列中只包含几个不同的值,不推荐创建索引,因为SQL Server 在小型表中用索引搜索数据所花的时间比逐行搜索更长。

     

    CREATE INDEX (SQL Server Compact Edition)
       http://msdn.microsoft.com/zh-cn/library/ms345331(SQL.90).aspx

    新增: 2006 年 4 月 14 日

    在指定的表上创建索引。可以在表中输入数据之前创建索引。

     
    CREATE [UNIQUE] [NONCLUSTERED] INDEX index_name ON table_name (column_name [ASC|DESC][,…n])
    WITH (STATISTICS_NORECOMPUTE = { ON | OFF })]

    术语定义

    UNIQUE

    在表上创建唯一索引。唯一索引是不允许其中任意两行具有相同索引值的索引。

    SQL Server 2005 Compact Edition (SQL Server Compact Edition) 在创建索引后将检查是否存在重复的值(如果数据已存在),并在每次使用 INSERT 或 UPDATE 语句添加数据时执行该检查操作。必须先消除重复值,然后才可对列创建唯一索引。如果存在重复的键值,则将取消 CREATE INDEX 语句并返回错误。只能对定义为 NOT NULL 的列创建唯一索引。

    如果存在唯一索引,则可能生成重复键值的 UPDATE 或 INSERT 语句将回滚,且 SQL Server Compact Edition 返回错误。即使 UPDATE 或 INSERT 语句更改许多行,但只要存在一个重复,上面这一点也将成立。

    NONCLUSTERED

    创建指定表的逻辑排序的索引。使用非聚集索引,数据行的物理顺序将独立于其索引顺序。这是唯一支持的索引类型。(默认值为 NONCLUSTERED)

    index_name

    指定索引的名称。索引名称在表中必须是唯一的,但是在数据库中不必是唯一的。

    table_name

    指定要对其创建索引的表的名称。

    此表包含要建立索引的一个或多个列。

    column name

    要应用索引的列。指定两个或两个以上的列的名称,以对指定列中的组合值创建组合索引。在表后面的括号中,按排序优先级顺序列出要包含在组合索引中的列。

    注意:
    不能将包含 ntext 或 image 数据类型的列指定为要建立索引的列。

     

    ASC | DESC ]

    为特定的索引列确定升序 (ASC) 或降序 (DSC) 排序方向。默认值为 ASC。

    n

    指示可以为任何特定索引指定多列的占位符。索引中可以包含的最大列数为 16。

    STATISTICS_NORECOMPUTE

    指定是否重新计算分发统计信息。默认值为 OFF。

    • ON
      不自动重新计算过期的统计信息。
    • OFF
      启用自动统计信息更新

    若要还原自动统计信息更新,请将 STATISTICS_NORECOMPUTE 设置为 OFF,或执行不带 NORECOMPUTE 子句的 UPDATE STATISTICS。

    重要事项:
    禁用分发统计信息的自动重新计算功能可能会阻止查询优化器为涉及此表的查询选取最佳执行计划。

     

    示例

    以下示例对 MyCustomers 表创建了唯一索引:

    CREATE TABLE MyCustomers (CustID int, CompanyName nvarchar(50))
    CREATE UNIQUE INDEX idxCustId ON MyCustomers (CustId)
               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • SQLServer 语句-创建索引

    万次阅读 2010-12-17 14:04:00
    SQLServer 语句-创建索引

    语法:
    CREATE [索引类型] INDEX 索引名称
    ON 表名(列名)
    WITH FILLFACTOR = 填充因子值0~100
    GO

    /*实例*/
    USE 库名
    GO
    IF EXISTS
    (SELECT * FROM SYSINDEXES WHERE NAME='IX_TEST_TNAME')--检测是否已经存在IX_TEST_TNAME索引
    DROP INDEX TEST.IX_TEST_TNAME--如果存在则删除

    --创建索引
    CREATE NONCLUSTERED INDEX IX_TEST_TNAME --创建一个非聚集索引
    ON TEST(TNAME)  --为TEST表的TNAME字段创建索引
    WITH FILLFACTOR = 30 --填充因子为30%
    GO

    SELECT * FROM TEST(INDEX = IX_TEST_TNAME) WHERE TNAME = 'A' --指定按‘IX_TEST_TNAME’索引查询

    总结:
          1.什么是索引:
    数据库中的索引是某个表中一列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
      2.分类:
         唯一索引(UNIQUE):不允许两行具有相同的索引值(创建了唯一约束,系统将自动创建唯一索引)
         主键索引主键索引要求主键中的每个值是唯一的,(创建主键自动创建主键索引)
         聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引
         非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引
        3.创建索引的标准:用语频繁搜索的列;用语对数据进行排序的列
    注意:如果表中仅有几行,或列中只包含几个不同的值,不推荐创建索引,因为SQL Server 在小型表中用索引搜索数据所花的时间比逐行搜索更长。

     

    CREATE INDEX (SQL Server Compact Edition)
       http://msdn.microsoft.com/zh-cn/library/ms345331(SQL.90).aspx

    新增: 2006 年 4 月 14 日

    在指定的表上创建索引。可以在表中输入数据之前创建索引。

     
    CREATE [UNIQUE] [NONCLUSTERED] INDEX index_name ON table_name (column_name [ASC|DESC][,…n])
    WITH (STATISTICS_NORECOMPUTE = { ON | OFF })]

    术语定义

    UNIQUE

    在表上创建唯一索引。唯一索引是不允许其中任意两行具有相同索引值的索引。

    SQL Server 2005 Compact Edition (SQL Server Compact Edition) 在创建索引后将检查是否存在重复的值(如果数据已存在),并在每次使用 INSERT 或 UPDATE 语句添加数据时执行该检查操作。必须先消除重复值,然后才可对列创建唯一索引。如果存在重复的键值,则将取消 CREATE INDEX 语句并返回错误。只能对定义为 NOT NULL 的列创建唯一索引。

    如果存在唯一索引,则可能生成重复键值的 UPDATE 或 INSERT 语句将回滚,且 SQL Server Compact Edition 返回错误。即使 UPDATE 或 INSERT 语句更改许多行,但只要存在一个重复,上面这一点也将成立。

    NONCLUSTERED

    创建指定表的逻辑排序的索引。使用非聚集索引,数据行的物理顺序将独立于其索引顺序。这是唯一支持的索引类型。(默认值为 NONCLUSTERED)

    index_name

    指定索引的名称。索引名称在表中必须是唯一的,但是在数据库中不必是唯一的。

    table_name

    指定要对其创建索引的表的名称。

    此表包含要建立索引的一个或多个列。

    column name

    要应用索引的列。指定两个或两个以上的列的名称,以对指定列中的组合值创建组合索引。在表后面的括号中,按排序优先级顺序列出要包含在组合索引中的列。

    注意:
    不能将包含 ntext 或 image 数据类型的列指定为要建立索引的列。

     

    ASC | DESC ]

    为特定的索引列确定升序 (ASC) 或降序 (DSC) 排序方向。默认值为 ASC。

    n

    指示可以为任何特定索引指定多列的占位符。索引中可以包含的最大列数为 16。

    STATISTICS_NORECOMPUTE

    指定是否重新计算分发统计信息。默认值为 OFF。

    • ON
      不自动重新计算过期的统计信息。
    • OFF
      启用自动统计信息更新

    若要还原自动统计信息更新,请将 STATISTICS_NORECOMPUTE 设置为 OFF,或执行不带 NORECOMPUTE 子句的 UPDATE STATISTICS。

    重要事项:
    禁用分发统计信息的自动重新计算功能可能会阻止查询优化器为涉及此表的查询选取最佳执行计划。

     

    示例

    以下示例对 MyCustomers 表创建了唯一索引:

    CREATE TABLE MyCustomers (CustID int, CompanyName nvarchar(50))
    CREATE UNIQUE INDEX idxCustId ON MyCustomers (CustId)
    展开全文
  • 1、建立表索引 create index 索引名 on 表名(列名,列名); 2、删除表索引 drop index 索引名 on 表名; 3、查看表索引 select * from sysibm.sysindexes where tbname='表名'; ---表名区分大小写 或者在...

    1、建立表索引

        create index 索引名 on 表名(列名,列名);

    2、删除表索引

        drop index 索引名 on 表名;

    3、查看表索引

        select * from sysibm.sysindexes where tbname='表名';   ---表名区分大小写

        或者在后台可以用:

        describe indexes for table 表名;

    4、查看SQL语句执行计划

        db2expln -d 库名 -f test.sql -t -g -z ";" > test.exp

    5、查看SQL语句索引优化建议

        db2advis -d 库名 -i test.sql

    转载于:https://www.cnblogs.com/yinguojin/p/8985824.html

    展开全文
  • MySQL建立索引SQL语句

    千次阅读 2019-12-26 15:11:25
    1. 主键索引创建表时自动创建 { 聚集索引:一个表中只有一个聚集索引 } 2. 唯一索引:CREATE UNIQUE INDEX unique_index_warn[索引名称]ON cas_alarm[表名](warn_id[列名]) 3. 普通索引:CREATE INDEX index_...
  • 如何利用索引进行SQL语句优化? 表结构 150多万的数据,这么一个简单的语句: 慢查询日志里居然很多用了1秒的,Explain的结果是: 从Explain的结果可以看出,查询已经使用了索引,但为什么还这么慢? ...
  • sql语句创建主键

    千次阅读 2016-09-26 11:39:07
    对于有数据的表,在企业管理器里面创建索引时,容易超时,使用sql语句只要在,工具-选项设置超时值为0,就不会超时。 在已有表里创建主键:alter table t_inputdata add constraint PK_t_inputdata primary key...
  • SQL 语句

    千次阅读 2013-08-31 18:21:19
    如今各个公司对程序员的数据库知识尤其是SQL语句的掌握程度有很高的要求,作为一名光荣的程序员,不会玩儿SQL语句走在街上根本不好意思和人打招呼!好了,废话不多说。 一、SQL 基础知识 1、DDL(数据定义语言) ...
  • 数据库索引:索引有单列索引复合索引之说如何某表的某个字段有主键约束和唯一性约束,则Oracle 则会自动在相应的约束列上建议唯一索引。数据库索引主要进行提高访问速度。建设原则: 1、索引应该经常建在Where 子句...
  • mysql sql语句创建

    千次阅读 2015-12-29 09:55:44
    当你用sql语句创建表的时候,例如: create table `tb_article` ( `a_id` int(4) NOT NULL AUTO_INCREMENT PRIMARY KEY, `a_title` varchar(50) character set utf8 collate utf8_bin NOT NULL, `a_content` ...
  • MySQL中捕获低效SQL语句的配置以及检测SQL语句效率的方法
  • MySQL优化书写高质量sql语句

    万次阅读 多人点赞 2021-03-22 22:21:49
    1. 查询SQL尽量不要使用全查 select *,而是 select + 具体字段。 反例: select * from student; 正例: select id,name, age from student; ...预编译语句可以重复使用计划,减少SQL编译所需要
  • SQL联合索引

    千次阅读 2017-04-04 16:06:47
    1):查询条件中出现联合索引第一列,或者全部,则能利用联合索引. 2):条件列中只要条件相连在一起,以本文例子来说就是: last_name=’1′ and first_name=’1′ 与 first_name=’1′ and last_name=’1′ ...
  • Sql语句优化思路

    2021-02-05 02:18:35
    1.开启慢查询日志,设置超过几秒为慢sql语句,抓取慢sq语句。l 2.通过explain查看执行计划,对慢sql语句分析。 3.创建索引并调整语句,再查看执行计划,对比优化结果。 抓取慢sql show variables like ‘%quer%’; ...
  • 关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能...
  • sql语句优化

    千次阅读 2014-04-30 21:09:59
    sql语句优化  性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。 为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL...
  • 给表添加主键:alter table 表名 add ...ALARM(ALARMID,MONITORTYPE)--创建非聚集索引 alter table DC_ALARM add constraint UQ_DC_ALARM unique (FACTORCODE,TIME,MONITORTYPE,VALUE,MN )--添加联合唯一键
  • SQL语句优化

    2011-11-17 13:20:39
    SQL语句进行优化有以下一些直接原因: 1. SQL语句是对数据库(数据) 进行操作的惟一途径,应用程序的执行最终要归结为SQL语句的执行,SQL语句的效率对数据库系统的性能起到了决定性的作用。 2. SQL语句消耗了70%...
  • mysql 创建索引语句

    千次阅读 2020-11-19 19:00:03
    一、创建索引 1.PRIMARYKEY(主键索引) mysql > ALTERTABLE`table_name`ADDPRIMARYKEY (`column`) 2.UNIQUE(唯一索引) mysql > ALTERTABLE`table_name`ADDUNIQUE (`column` ) 3.INDEX(普通索引) mysql &...
  • SQL语句查询

    万次阅读 多人点赞 2019-01-20 23:53:51
    第1章 SQL语句查询 1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...
  • 好久没有上来写点东西了,今天正好有空,共享一些个人心得,就是关于分页的存储过程,这个问题应该是老生重谈了,网上的通用存储过程的类型已经够多了,但是,好象看到的基本上不能够满足一些复杂的SQL语句的分页...
  • SQL语句

    千次阅读 2008-01-19 20:28:00
    SQL语言由命令、子句、运算和集合函数等构成。在SQL中,数据定义语言DDL(用来建立及定义数据表、字段以及索引等数据库结构)包含的命令有CREATE、DROP、...一、SQL语句(1)Select 查询语句语法:SELECT [ALL|DISTIN
  • MySQL查看SQL语句执行效率 Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写...
  • DB2 创建索引语句

    万次阅读 2017-12-05 09:55:46
    sql 解析: GXQUSR 是Schemas 命名空间 IDX_AGGERATION_PUSH_RECORD_SERIAL_NO 索引名称 FUND_AGGERATION_PUSH_RECORD 表名 SERIAL_NO 需要加索引的字段,多个用逗号隔开  ...
  • sql 语句 优化

    千次阅读 2013-12-28 18:15:51
    2、查询SQL语句时打开“显示估计的执行计划”,分析每个步骤的情况  3、初级做法,在CPU占用率高的时候,打开SQL Server Profiler运行,将跑下来的数据存到文件中,然后打开数据库引擎优化顾问调用那个文件进行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,349
精华内容 16,939
关键字:

创建联合索引的sql语句