精华内容
下载资源
问答
  • mysql 索引-【创建索引命令

    千次阅读 2018-08-10 09:48:45
    上篇讲述了一下mysql索引的应用,本篇则主要针对索引命令进行一下总结,依旧拿employees为例说明。 首先要知道索引是在存储引擎中实现的,也就是说不同的存储引擎,会使用不同的索引。MyISAM和InnoDB存储引擎:只...

    上篇讲述了一下mysql索引的应用,本篇则主要针对索引命令进行一下总结,依旧拿employees为例说明。
    首先要知道索引是在存储引擎中实现的,也就是说不同的存储引擎,会使用不同的索引。MyISAM和InnoDB存储引擎:只支持BTREE索引,也就是说默认使用BTREE,不能够更换。MEMORY/HEAP存储引擎:支持HASH和BTREE索引。

    主键索引、唯一索引:

    主键和主键索引:

    1. 主键一定是唯一性索引,唯一性索引并不一定就是主键。主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引。
    2. 一个表中可以有多个唯一性索引,但只能有一个主键。
    3. 主键列不允许空值,而唯一性索引列允许空值。
    4. 索引可以提高查询的速度。

      创建主键索引:

    //为emp_no创建主键索引
    alter table employees add primary KEY(emp_no);

    创建唯一索引:

    //为test表中的seller_id字段添加唯一索引
    alter table test add unique index(seller_id);

    普通索引:

    MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。

    //为first_name创建唯一索引
    alter table employees add index first_name (first_name);

    联合索引:

    又称复合索引;Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。

    //为employees表中的birth_date, first_name, last_name创建联合索引
    alter table employees add index bd_fn_ln (birth_date, first_name, last_name);

    全文索引:

    全文索引只能适用于MyISAM引擎,只能在CHAR,VARCHAR,TEXT类型字段上使用全文索引。全文索引其实就是根据某个关键字,全文搜索,比如有一个字段内容为“北京博物馆拍卖正在进行中……”,那么当输入“博物馆”几个关键字的时候,则会把该条记录搜索出来。

    开篇我们提到了INNODB引擎是支持BTREE索引的,也为我们下篇讲述索引原理买下伏笔。

    展开全文
  • 创建索引命令: PUT 索引名 示例: number_of_shards:分片数量(按机器节点数量计算,创建后不能更改) number_of_replicas:副本数量 PUT admin_log_0821 { "settings":{ "number_of_shards":6, ...

    命令

    查看索引及结构:

    命令: GET /索引名/_mapping?pretty

    创建索引:

    命令: PUT 索引名

    示例:
    number_of_shards:分片数量(按机器节点数量计算,创建后不能更改)
    number_of_replicas:副本数量

    PUT admin_log_0821
    {
    	  "settings":{
    	    "number_of_shards":6,
          "number_of_replicas":	1
    	  },
    		"mappings": {
    			"logs": {
    				"properties": {
    				"esCreateTime": {
    					"type": "long"
    				},
    				"id": {
    					"type": "long"
    				},
    				"ip": {
    					"type": "text",
    					"fields": {
    						"keyword": {
    							"type": "keyword",
    							"ignore_above": 256
    						}
    					}
    				},
    				"uri": {
    					"type": "text",
    					"fields": {
    						"keyword": {
    							"type": "keyword",
    							"ignore_above": 256
    						}
    					}
    				},
    				"userId": {
    					"type": "text",
    					"fields": {
    						"keyword": {
    							"type": "keyword",
    							"ignore_above": 256
    						}
    					}
    				},
    				"userName": {
    					"type": "text",
    					"fields": {
    						"keyword": {
    							"type": "keyword",
    							"ignore_above": 256
    						}
    					}
    				}
    			}
    			}
    		}
    	}
    

    基础索引示例:

    {
      "settings": {
        "number_of_shards": 16,
        "number_of_replicas": 1
      },
      "mappings": {
        "risk_event_ads": {
          "dynamic": "strict",
          "properties": {
            "flowNo": {
              "type": "String",
              "index": "not_analyzed"
            },
            "elapseTime": {
              "type": "long"
            },
            "ipLon": {
              "type": "float"
            },
            "createTime": {
              "type": "date"
            },
            "occurTimeYear": {
              "type": "short"
            },
            "occurTimeMonth": {
              "type": "byte"
            },
            "cpuCurFreq": {
              "index": "not_analyzed",
              "type": "string"
            },
            "extraInfoObj": {
              "type": "object",
              "dynamic": true
            }
          }
        }
      }
    }
    

    crul命令: curl -XPUT “http://es地址:9200/索引名” -H ‘Content-Type: application/json’ -d’索引json’

    展开全文
  • 1、重建索引命令 mysql> REPAIR TABLE tbl_name QUICK;...3、创建索引(PRIMARY KEY,INDEX,UNIQUE)支持创建主键索引,联合索引和普通索引命令 mysql>ALTER TABLE tbl_name ADD INDEX index_nam

    1、重建索引命令

    mysql> REPAIR TABLE tbl_name QUICK;

    2、查询数据表索引

    mysql> SHOW INDEX FROM tbl_name;

    3、创建索引(PRIMARY KEY,INDEX,UNIQUE)支持创建主键索引,联合索引和普通索引命令

    mysql>ALTER TABLE tbl_name ADD INDEX index_name (column list);mysql>ALTER TABLE tbl_name ADD UNIQUE index_name (column list);mysql>ALTER TABLE tbl_name ADD PRIMARY KEY index_name (column list);

    4.删除索引(PRIMARY KEY,INDEX,UNIQUE)

    支持删除主键索引,联合索引和普通索引命令

    mysql>ALTER TABLE tbl_name DROP INDEX index_name (column list);mysql>ALTER TABLE tbl_name DROP UNIQUE index_name (column list);mysql>ALTER TABLE tbl_name DROP PRIMARY KEY index_name (column list);

    其中 tbl_name 表示数据表名,index_name 表示索引名,column list 表示字段列表



    展开全文
  • 联合索引: 查看表中已经存在 index:showindex from table_name; 创建和删除索引 索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE ...(1)使用ALTER TABLE语句创建索引。 语法如下: alter ...

    联合索引:

     

    查看表中已经存在 index:show index from table_name;

    创建和删除索引
    索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引。删除索引可以利用ALTER TABLE或DROP INDEX语句来实现。

    (1)使用ALTER TABLE语句创建索引。
    语法如下:
    alter table table_name add index index_name (column_list) ;
    alter table table_name add unique (column_list) ;
    alter table table_name add primary key (column_list) ;
    其中包括普通索引、UNIQUE索引和PRIMARY KEY索引3种创建索引的格式,table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以同时创建多个索引。
    创建索引的示例如下:
    mysql> use tpsc
    Database changed
    mysql> alter table tpsc add index shili (tpmc ) ;
    Query OK, 2 rows affected (0.08 sec)
    Records: 2 Duplicates: 0 Warnings: 0

    (2)使用CREATE INDEX语句对表增加索引。
    能够增加普通索引和UNIQUE索引两种。其格式如下:
    create index index_name on table_name (column_list) ;
    create unique index index_name on table_name (column_list) ;
    说明:table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。

    (3)删除索引。
    删除索引可以使用ALTER TABLE或DROP INDEX语句来实现。DROP INDEX可以在ALTER TABLE内部作为一条语句处理,其格式如下:
    drop index index_name on table_name ;
    alter table table_name drop index index_name ;
    alter table table_name drop primary key ;
    其中,在前面的两条语句中,都删除了table_name中的索引index_name。而在最后一条语句中,只在删除PRIMARY KEY索引中使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。
    如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。
    删除索引的操作,如下面的代码:
    mysql> drop index shili on tpsc ;
    Query OK, 2 rows affected (0.08 sec)
    Records: 2 Duplicates: 0 Warnings: 0
    该语句删除了前面创建的名称为“shili”的索引。

    转自:https://www.cnblogs.com/mfryf/p/3642667.html

     

    展开全文
  • MySQL创建索引 由于数据量的不断增大,在使用MySql查询时速度愈来愈慢,这时候有必要创建合适的索引来优化提升查询的速度。
  • 索引命名规则 普通索引名:IDX_table_<column>_<column> 唯一索引名:UDX_table_<column>_<column> 其中<...
  • MySQL创建、删除、重建和查看索引命令总结如下: 1、创建索引(PRIMARY KEY,INDEX,UNIQUE) mysql>ALTER TABLE tbl_name ADD INDEX index_name (column list); mysql>ALTER TABLE tbl_name ADD UNIQUE ...
  • 1、创建索引 索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引。 以下命令语句分别展示了如何创建主键索引(PRIMARY KEY)、 唯一索引(UNIQUE)、 全文索引...
  • MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样。其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以...
  • 查看索引 show index from 数据库表名 alter table 数据库add index 索引名称(数据库字段名称) PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引) ...
  • 创建 唯一索引和非唯一索引

    千次阅读 2018-05-10 18:51:16
    2017年09月16日 13:03:10阅读数:2718 步骤如下:一、创建唯一索引:1、打开navicat premium ,打开准备...2、输入命令:CREATE UNIQUE INDEX 索引名 on 表名(想要创建索引的列名) TABLESPACE 表空间名;CREAT...
  • 创建索引 curl -XPUT ‘localhost:9200/blog/’ 删除索引 curl -XDELETE ‘localhost:9200/blog/’ 添加映射关系(类似于数据库表结构) curl -XPUT ‘localhost:9200/blog/_mapping/blog’ -d ’ { "blog": { ....
  • mysql添加索引命令

    千次阅读 2018-11-22 13:47:00
    创建脚本 1.PRIMARY KEY(主键索引)mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.UNIQUE(唯一索引)mysql>ALTER TABLE `table_name` ADD UNIQUE (`column` ) 3....
  • MongoDB 索引创建

    千次阅读 2016-12-28 15:16:20
    在数据量超大的情形下,任何数据库系统在创建索引时都是一个耗时的大工程。MongoDB也不例外。因此,MongoDB索引的创建有两个选择,一个是前台方式,一个是后台方式。那这两种方式有什么差异呢,在创建索引是是否能...
  • MySQL添加索引命令

    万次阅读 2018-04-18 16:23:22
    关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能...
  • oracle 创建 唯一索引和非唯一索引

    万次阅读 2017-09-16 13:03:10
    2、输入命令:CREATE UNIQUE INDEX 索引名 on 表名(想要创建索引的列名) TABLESPACE 表空间名; CREATE UNIQUE INDEX gcsj0917 ON VEH_PASSREC_08200916 (GCSJ) TABLESPACE USERS 如果不知道表
  • mysql创建普通索引与删除索引

    千次阅读 2018-12-21 00:05:03
    – hrms_person的CREATE_TIME增加索引 ALTER TABLE hrms_person ADD INDEX ‘IDX_HRMS_PERSON_CT’ (CREATE_TIME’) USING BTREE; – 删除索引 ALTER TABLE hrms_person DROP INDEX ‘IDX_HRMS_PERSON_CT’; ...
  • pymongo 创建复合索引的方式

    千次阅读 2018-08-05 15:05:17
    pymongo中创建复合索引的方式与直接操作mongodb创建复合索引命令写法有所不同: mongodb命令: 某个数据库db, 数据集document,存在字段 age,username,升序排列: db.document.ensureIndex({“age”:1,”...
  • mongodb创建2D索引

    千次阅读 2016-09-19 16:50:05
    1、 MongoDB支持二维空间索引,这是设计时考虑到基于位置的查询。 如果需要使用这种索引,应确定对象中存储的字段是子对象或数组,前两...3、创建索引  db.location.ensuerIndex({"loc":"2d"}); 4、$near查询  d
  • 使用SQL创建唯一索引

    千次阅读 2019-04-27 08:10:00
    使用sql语句创建唯一索引,格式如下: create unique index 索引名 on 表名(列名1,列名2……) 示例;在表GoodsMade_Labour的SID列上创建唯一索引IX_GoodsMade_Labour,代码如下: create unique index IX_...
  • 创建索引的语法

    千次阅读 2018-09-28 19:59:08
    首先创建一个表:create table t1 (id int primary key,username varchar(20),password varchar(20)); 创建单个索引的语法:...例如:给id创建索引:CREATE INDEX t1_id on t1(id); 创建联合索引的语法:CREATE IN...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 334,801
精华内容 133,920
关键字:

创建主索引命令