mysql数据库优化课程---5、要索引和不要索引的区别是什么
mysql数据库优化课程---5、要索引和不要索引的区别是什么
一、总结
一句话总结:
索引速度快,就是查表的时候,操作的话设置索引就好了
1、数据库设计的时候不允许字段为null的好处是什么?
null要占4-5个字段:单为空的时候,不允许为null的话要么为0要么为空字符串,占一个字段
而null要占4-5个字段,所以用null做划不来
2、为什么数据表的外键使用的很少?
a、非常不灵活,当你想删某个字段的时候,会出现因为是外键删除报错很麻烦
b、外键的功能完全可以被连表所代替
c、和实际情况不符合:比如说一个用户最近乱发帖,你需要删了它,但是如果设置为外键,需要把用户所有的评论文章全部删掉,而这些评论文章没有必要全部删掉
所以外键这种太强制的约束用的少
3、删除主键之前的操作是什么?
先要把自增删了才能删主键,因为自增是字段属性
一个表只能有一个主键
alter table user2 modify id int unsigned not null;(删自增)
alter table user2 drop primary key;(删主键)
4、索引如何使用?
检索在查询的时候自己使用,而不需要我们做什么特别的操作来体现,我们要做的就是初期给哪些字段加上索引,加上什么索引
索引作用:检索加速
5、索引里面的唯一索引是什么?
就是数据库里面这个字段不能重复,重复就报错
添加了唯一索引,那么就可以快速检索这个字段了
1)添加
alter table user2 add unique u_username(username);
2)删除
alter table user2 drop index u_username;
6、主键索引和唯一索引的关系?
主键索引本身就包含唯一索引,所以主键索引中也不能重复,比如id,重复就报错
主键索引检索速度最快
唯一索引会比普通索引快
7、如何查看一个数据表user的字段情况?
desc user;
8、程序中的唯一索引检测出现的位置在哪(在php中检测还是在mysql中唯一索引)?
php中:是判断重复了php给出提示,而不是在mysql中唯一索引报错
应该在php中检测,而不是mysql中的唯一索引,
是判断重复了php给出提示,而不是在mysql中唯一索引报错
9、普通索引在数据库中的字段表示是什么?
普通索引:mul
主键索引:pri
唯一索引:uni
1)添加
alter table user2 add index i_username(username);
2)删除
alter table user2 drop index i_username;
10、要索引和不要索引的区别是什么?
要索引检测速度快,就是查表的时候
而不需要做什么特别操作啦体现索引
二、内容在总结中
字段管理:
1.添加字段
alter table user add age tinyint unsigned not null;
alter table user add pass varchar(30) not null after user;
alter table user add pass varchar(30) not null first;
2.删除字段
alter table user drop password;
3.修改字段
alter table user modify username varchar(30) not null;
alter table user change username user varchar(30) not null;
4.查看字段
desc user;
索引:
1.主键
1)添加
mysql> create table user2(
-> id int unsigned not null auto_increment,
-> username varchar(30) not null,
-> primary key(id)
-> );
mysql> create table user2(
-> id int unsigned not null auto_increment primary key,
-> username varchar(30) not null
-> );
2)删除
alter table user2 modify id int unsigned not null;
alter table user2 drop primary key;
2.唯一
1)添加
alter table user2 add unique u_username(username);
2)删除
alter table user2 drop index u_username;
3.普通
1)添加
alter table user2 add index i_username(username);
2)删除
alter table user2 drop index i_username;
mysql数据库优化课程---5、要索引和不要索引的区别是什么的更多相关文章
- mysql数据库优化课程---17、mysql索引优化
mysql数据库优化课程---17.mysql索引优化 一.总结 一句话总结:一些字段可能会使索引失效,比如like,or等 1.check表监测的使用场景是什么? 视图 视图建立在两个表上, 删除了 ...
- mysql数据库优化课程---18、mysql服务器优化
mysql数据库优化课程---18.mysql服务器优化 一.总结 一句话总结: 1.四种字符集问题:字符集都设置为utf-82.slow log慢查询日志问题3.root密码丢失 1.mysql存在 ...
- mysql数据库优化课程---16、mysql慢查询和优化表空间
mysql数据库优化课程---16.mysql慢查询和优化表空间 一.总结 一句话总结: a.慢查询的话找到存储慢查询的那个日志文件 b.优化表空间的话可以用optimize table sales; ...
- mysql数据库优化课程---15、mysql优化步骤
mysql数据库优化课程---15.mysql优化步骤 一.总结 一句话总结:索引优化最立竿见影 1.mysql中最常用最立竿见影的优化是什么? 索引优化 索引优化,不然有多少行要扫描多少次,1亿行大 ...
- mysql数据库优化课程---13、mysql基础操作
mysql数据库优化课程---13.mysql基础操作 一.总结 一句话总结:mysql复制表,索引,视图 1.mysql如何复制表? like select * 1.复制表结构 create tab ...
- mysql数据库优化课程---12、mysql嵌套和链接查询
mysql数据库优化课程---12.mysql嵌套和链接查询 一.总结 一句话总结:查询user表中存在的所有班级的信息? in distinct mysql> select * from cl ...
- mysql数据库优化课程---9、php用什么写的
mysql数据库优化课程---9.php用什么写的 一.总结 一句话总结:php是用c语言写的,所以php里面的那些模块什么都是c语言 c 1.php用什么写的? c php是用c语言写的,所以php ...
- mysql数据库优化课程---7、网站的搜索技术怎么选
mysql数据库优化课程---7.网站的搜索技术怎么选 一.总结 一句话总结: 1.量很小(像小网站)---like2.量大一点()---标签3.量超级大(像百度)---搜索引擎 1.数据库中取一列比 ...
- mysql数据库优化课程---2、命令其实也就是那几个单词
mysql数据库优化课程---2.命令其实也就是那几个单词 一.总结 一句话总结: 比如show,use,alter 1.开启和关闭mysql服务? Windows下:net start/stop m ...
随机推荐
- Java中volatile关键字实现原理
原文地址http://www.cnblogs.com/xrq730/p/7048693.html,转载请注明出处,谢谢 前言 我们知道volatile关键字的作用是保证变量在多线程之间的可见性,它是j ...
- Nuxt使用iconfont矢量图标
Nuxt可以使用各种前端UI框架,这些框架一般都自带的有一些icon图标可供用户使用,但是一般项目开发的时候,UI框架自带的icon是不能满足实际项目需求的,这个时候我们可以自己找一些图片放到本地项目 ...
- 【题解】Digit Tree
[题解]Digit Tree CodeForces - 716E 呵呵以为是数据结构题然后是淀粉质还行... 题目就是给你一颗有边权的树,问你有多少路径,把路径上的数字顺次写出来,是\(m\)的倍数. ...
- okhttp 防止自动删除url中的./和../
测试任意文件读取漏洞是需要在url中加上 ../../ 之类的字符,但是如果使用三方库Apache httpclient或okhttp,他们都会自动删除url中的 ../ ,通过修改okhttp的源 ...
- mysql用户授权以及权限收回
语法 GRANT privileges [(columns)] ON DATABASE.TABLE TO 'username'@'hostname' [IDENTIFIED BY [PASSWORD] ...
- 我的Android进阶之旅------>Android使用9Patch图片作为不失真背景
做人要大度,海纳百川,做事要圆滑,左右逢源,这让我想到了编程也是如此,代码要扩展,界面也要考虑自适应. 这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用. 1 ...
- Ubuntu 14.04上安装WineTMQQ2013麒麟版
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/tao_627/article/details/24187699 我先后试用了longterm团队的2 ...
- New Moto X 2014 全版本RSD&Fastboot刷官方底包教程
本来我是不想写教程的,因为这样的教程实在是太多了,基本上大家也都会了,为什么还要多次一举,发来发去的呢?实在没什么意义!但是我觉得吧,别人的教程写的都太过简单,太过明了了,有时候我们很难理解,这到底是 ...
- SQL语句 自连表查询。inner join用法,partition by ,列转行查询
use mydb1 go -- 表T_Employee2 -- Id Name Position Dept -- 1 张三 员工 市场部 -- 2 李四 经理 销售部 -- 3 王五 经理 市场部 - ...
- Archimate
archimate语言提供了一种用于表示企业体系结构的图形化语言,包括策略,转换和迁移规划,以及架构的动机和基本原理.该标准的设计尽可能紧凑,但仍可用于大多数企业体系结构建模需求.下图显示了Archi ...