没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
抽空下班的时候,整理了份MYSQL创建索引的过程,因人而异~~~~有的情况可以用到,不过数据库如果执行此脚本,必然会创建存储过程,对性能有挑战性,宁可不需要存储过程来创建 直接 create都可以,执行失败一条一条删除都行, 哎~~~~~
/**
* MYSQL创建索引时,对该创建索引的字段有要求
* 字段为varchar类型时,创建索引规定的初始长度不能大于767个字节,按照UTF-8字符编码占三个字节来计算767/3大约等于255个字符
* ,所以varchar类型的括号里面不能大于255 例如: varchar(254) GBK字符编码占两个字节
* 那么上述对varchar类型的字段进行创建索引,该索引就为前缀索引 假如:该字段varchar(1000) 那么只搜索到varchar(255)个字符
* 就不进行检索了
**/
/*
* MYSQL判断索引时,由于MYSQL不支持DROP INDEX IF EXISTS......,所以要用到存储过程进行判断和创建
* 注:双斜杠不能删除!!!!!
* */
DROP PROCEDURE IF EXISTS add_Index;
DELIMITER //
/*
* 创建存储过程 add_Index(参数1,参数2,参数3,参数4,参数5) ,参数在下面的CALL add_Index()对应传递
* */
CREATE PROCEDURE add_Index (IN p_dbname VARCHAR (200),IN p_tablename VARCHAR (200),IN p_idxname VARCHAR (200),IN p_index VARCHAR (200),IN p_type VARCHAR(200))
BEGIN
DECLARE addstr VARCHAR (250);
/*
* CONCAT(为名称为参数2的表的(p_tablename) 名称为参数4的字段(p_index) 创建 名称为参数3的索引(p_idxname))
* */
SET @addstr = CONCAT(' CREATE ',p_type,' INDEX ', p_idxname,' ON ',p_tablename,p_index);
/*
* 下面的这条语句就是查询表中是否存在该条索引,用变量cnt接收查询到的个数
* */
SELECT COUNT(*) INTO @cnt
/**
* MYSQL创建索引时,对该创建索引的字段有要求
* 字段为varchar类型时,创建索引规定的初始长度不能大于767个字节,按照UTF-8字符编码占三个字节来计算767/3大约等于255个字符
* ,所以varchar类型的括号里面不能大于255 例如: varchar(254) GBK字符编码占两个字节
* 那么上述对varchar类型的字段进行创建索引,该索引就为前缀索引 假如:该字段varchar(1000) 那么只搜索到varchar(255)个字符
* 就不进行检索了
**/
/*
* MYSQL判断索引时,由于MYSQL不支持DROP INDEX IF EXISTS......,所以要用到存储过程进行判断和创建
* 注:双斜杠不能删除!!!!!
* */
DROP PROCEDURE IF EXISTS add_Index;
DELIMITER //
/*
* 创建存储过程 add_Index(参数1,参数2,参数3,参数4,参数5) ,参数在下面的CALL add_Index()对应传递
* */
CREATE PROCEDURE add_Index (IN p_dbname VARCHAR (200),IN p_tablename VARCHAR (200),IN p_idxname VARCHAR (200),IN p_index VARCHAR (200),IN p_type VARCHAR(200))
BEGIN
DECLARE addstr VARCHAR (250);
/*
* CONCAT(为名称为参数2的表的(p_tablename) 名称为参数4的字段(p_index) 创建 名称为参数3的索引(p_idxname))
* */
SET @addstr = CONCAT(' CREATE ',p_type,' INDEX ', p_idxname,' ON ',p_tablename,p_index);
/*
* 下面的这条语句就是查询表中是否存在该条索引,用变量cnt接收查询到的个数
* */
SELECT COUNT(*) INTO @cnt
资源评论
china.liubao425
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功