MySql SqlServer Sqlite中关于索引的创建
最近要更新Cocon90.Db库,令其ORM创建表时实现索引的添加。因此总结下列常用Sql,供大家学习与参考。
一、SqlServer中创建索引可以这样:
if not exists (select * from sysobjects where id = object_id('{0}') and OBJECTPROPERTY(id, 'IsUserTable') = 1) Create Table Test (
RowId VARCHAR(36) NOT NULL,
Name VARCHAR(255) NOT NULL ,
Type int NULL,
PRIMARY KEY (RowId,Name),
INDEX idxType(Type),
INDEX idxName(Name)
);
二、MySql中需要这样:
CREATE TABLE IF NOT EXISTS Test (
RowId VARCHAR(36) NOT NULL,
Name VARCHAR(255) NOT NULL ,
Type int NULL,
PRIMARY KEY (RowId,Name),
INDEX idxType(Type),
INDEX idxName(Name)
);
三、Sqlite中需要这样:
CREATE TABLE IF NOT EXISTS Test (
RowId VARCHAR(36) NOT NULL,
Name VARCHAR(255) NOT NULL ,
Type int NULL,
PRIMARY KEY (RowId,Name)
);
create index IF NOT EXISTS idx3 on Test(Type);
create index IF NOT EXISTS idx2 on Test(Name);
四、SqlServer中有则删除索引,无则创建索引的常用语句有:
Create Index idxType on Test (Type,Name)
with (drop_existing = on); 或者 IF Not EXISTS(SELECT * FROM sys.indexes WHERE object_id = object_id('Test') AND NAME ='idxType1')
CREATE INDEX [idxType1] ON Test(Type,Name);
五、Sqlite中无则创建索引的常用语句有:
create index IF NOT EXISTS idx3 on Test(Type);
create index IF NOT EXISTS idx2 on Test(Name);
六、MySql中对于无则创建索引的常用语句有:
DROP PROCEDURE IF EXISTS schema_change;
CREATE PROCEDURE schema_change() BEGIN
IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema=database() AND table_name = 'Test' AND index_name = 'idxType')
THEN ALTER TABLE `Test` ADD INDEX `idxType` ( `Type` ); END IF;
END; CALL schema_change(); DROP PROCEDURE IF EXISTS schema_change;
MySql SqlServer Sqlite中关于索引的创建的更多相关文章
- 牛逼!MySQL 8.0 中的索引可以隐藏了…
MySQL 8.0 虽然发布很久了,但可能大家都停留在 5.7.x,甚至更老,其实 MySQL 8.0 新增了许多重磅新特性,比如栈长今天要介绍的 "隐藏索引" 或者 " ...
- Mysql中查询索引和创建索引
查询索引 show index from table_name 1.添加PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( ` ...
- 删除重复记录(Mysql,SqlServer,Sqlite)
Mysql中有重复的数据: ) )> order by count() desc 删除一下吧: delete a from t_resource_apptype_releation as a, ...
- 在sqlite中使用索引
出处: 网络 1)Sqlite不支持聚集索引,android默认需要一个_id字段,这保证了你插入的数据会按“_id”的整数顺序插入,这个integer类型的主键就会扮演和聚集索引一样的角色.所以不要 ...
- oracle mysql sqlserver数据库中的分页
oracle: select * from (select rownum r,t1.* from tablename t1 where rownum <M+N ) t2 where t2.r&g ...
- 在SQLite中使用索引优化查询速度
在进行多个表联合查询的时候,使用索引可以显著的提高速度,刚才用SQLite做了一下测试. 建立三个表: create table t1 (id integer primary key,num inte ...
- 谈数据库索引和Sqlite中索引的使用
要使用索引对数据库的数据操作进行优化,那必须明确几个问题:1.什么是索引2.索引的原理3.索引的优缺点4.什么时候需要使用索引,如何使用围绕这几个问题,来探究索引在数据库操作中所起到的作用. 1.数据 ...
- Mysql中索引的 创建,查看,删除,修改
创建索引 MySQL创建索引的语法如下: ? 1 2 3 CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON ...
- 兼容SQLSERVER、Oracle、MYSQL、SQLITE的超级DBHelper
本示例代码的关键是利用.net库自带的DbProviderFactory来生产数据库操作对象. 从下图中,可以看到其的多个核心方法,这些方法将在我们的超级DBHelper中使用. 仔细研究,你会发现每 ...
随机推荐
- Error opening wax scripts: loading wax stdlib: bad header in precompiled chunk
在64位ios操作系统中使用lua报错. Error opening wax scripts: loading wax stdlib: bad header in precompiled chunk ...
- Linux进程ID号--Linux进程的管理与调度(三)
转自:http://blog.csdn.net/gatieme/article/category/6225543 日期 内核版本 架构 作者 GitHub CSDN 2016-05-12 Linux- ...
- 为什么用freemarker视图?
在java领域,表现层技术主要有三种:jsp.freemarker.velocity. jsp是大家最熟悉的技术优点:1.功能强大,可以写java代码2.支持jsp标签(jsp tag)3.支持表达式 ...
- UITableViewCell图片视差效果
UITableViewCell图片视差效果 效果 源码 https://github.com/YouXianMing/Animations 细节 OffsetImageCell.m OffsetCel ...
- 【转】Itunes Connect新版本如何提交应用
本文系转载,版权归原作者所有(原文链接>>). How do I submit my app to iTunes connect? To submit your app to iTunes ...
- http链接的性能测试工具httping
安装:MAC环境下使用brew进行安装 brew install httping 使用参数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...
- UVA 1508 - Equipment 状态压缩 枚举子集 dfs
UVA 1508 - Equipment 状态压缩 枚举子集 dfs ACM 题目地址:option=com_onlinejudge&Itemid=8&category=457& ...
- X、Y轴抖动的动画
实现这个动画效果用到了interpolator属性,这样就能让一些控件产生自定义的抖动效果 这是用作interpolator的文件,用来做动画循环 cycle.xml <?xml version ...
- 使用Logstash创建ES映射模版并进行数据默认的动态映射规则
本文配置为 ELK 即(Elasticsearch.Logstash.Kibana)5.5.1. Elasticsearch 能够自动检测字段的类型并进行映射,例如引号内的字段映射为 String,不 ...
- jetty+mongodb 配置session外部数据库存储
monbgodb简介 主页 http://www.mongodb.org/ oschina.net 介绍页 http://www.oschina.net/p/mongodb MongoDB是一个介于关 ...