课程网站建设ppt模板,凡科做的网站百度收不收录,免费外链生成器,社群营销策略有哪些为什么使用索引
最近学习了Mysql的索引#xff0c;索引对于Mysql的高效运行是非常重要的#xff0c;正确的使用索引可以大大的提高MySql的检索速度。通过索引可以大大的提升查询的速度。不过也会带来一些问题。比如会降低更新表的速度#xff08;因为不但要把保存数据还要保…为什么使用索引
最近学习了Mysql的索引索引对于Mysql的高效运行是非常重要的正确的使用索引可以大大的提高MySql的检索速度。通过索引可以大大的提升查询的速度。不过也会带来一些问题。比如会降低更新表的速度因为不但要把保存数据还要保存一下索引占用磁盘空间等问题。
实操
前期准备 创建一个表如果有测试的表也可以用(把主键id设置为自增) 2. 如果给字段添加的值有中文 需要将字符集改为UTF-8的格式 3.
保存存储过程用来添加100w条数据字段和数据可以自己修改
delimiter $$ # 定义结束符
drop procedure if exists addTestData; # 存储过程名叫addTestData
create procedure addTestData()
begin
declare number int;
set number 1;
while number 1000000 #插入N条数据
do
insert into test(id,user_name,password,text) #需要添加值得字段
values(null,concat(姓名_,number),concat(密码,number),concat(账号,number,密码,number)); # 对应字段的值
set number number 1;
end
while;
end $$调用存储过程来添加100w条数据 call addTestData(); 执行的过程中会比较慢大家可以使用select语句 查看创建了多少条数据了 select count(id) from test
索引种类开始实操
主键索引 primary默认添加
mysql提前给我们创建好了不需要我们自己创建主键索引。
唯一索引 unique除主键外的可以代替主键的字段如手机号身份证号等
数据库里边有很多数据是唯一的
sql语句
SELECT * FROM test where user_name 姓名_1
创建唯一索引
create unique index username ON test(user_name);普通索引 noraml常用而且可能会出现重复的字段 如姓名住址等
sql语句
SELECT * FROM test WHERE password密码55
创建普通索引
create index password on test( password );全文索引 fulltext字段类型为文本类型 char varchar 很长的文本
查询语句
SELECT * FROM test where text LIKE %赵
创建全文索引语句
create fulltext index text on test(text);
创建全文索引后的查询语句
select * from test where match(text) against(赵);
组合索引最左匹配原则 where name “” and id “” 就可以将nameid 设置为组合索引
示例
SELECT * FROM test where user_name姓名_10 AND password密码10
创建组合索引
create index (索引名)username、password on (表名)test ((添加索引的字段)user_name, password)