mysql数据库-索引
技术百科
黄舟
发布时间:2017-02-28
浏览: 次 索引是一种特殊文件包含着所有记录所使用的指针。就像一本书的目录一样,加快书的检索速度。数据库如果没有索引的话几乎是不能使用的。曾有人戏称,如果使用索引的mysql是一辆兰博基尼的话,没有使用索引顶多就是一个人力三轮。
索引分为聚簇索引和非聚簇索引。聚簇索引提高多行的检索速度,非聚簇索引提高单行数据的检索速度。在数据库的功能中,可以建立三种索引:唯一索引,主键索引和聚集索引。
普通索引是一种没有任何限制的索引,其建立过程:CREATE INDEX index_name ON table(column(col_name));它是MYIASM数据库引擎默认的BTREE类型的索引。使用navicat导出mysql数据库脚本的时候经常会看到这样的字段。
唯一索引是在普通索引的基础上保证索引列的值必须唯一,除主键外可以有空值。建立过程:
CREATE UNIQUE INDEX indexName ON table(column(length))
索引的利弊:
索引大大提高查询与排序速度,但是会小号数据保存与更新效率。索引需要生成索引文件,当大量使用组合索引的话,索引文件就会迅速膨胀。 针对这些问题,提出了以下优化方法:
1. 何时使用聚集索引或非聚集索引?
| 动作描述 | 使用聚集索引 | 使用非聚集索引 |
| 列经常被分组排序 | 使用 | 使用 |
| 返回某范围内的数据 | 使用 | 不使用 |
| 一个或极少不同值 | 不使用 | 不使用 |
| 小数目的不同值 | 使用 | 不使用 |
| 大数目的不同值 | 不使用 | 使用 |
| 频繁更新的列 | 不使用 | 使用 |
| 外键列 | 使用 | 使用 |
| 主键列 | 使用 | 使用 |
| 频繁修改索引列 | 不使用 | 使用 |
2. 使用短索引列。
索引列如果使用varchar(255)的话会让索引文件变大,不利于检索,这255个字符中前10或20个字符能够保证索引唯一的话,就使用这些字段作为索引列即可。
3.
like语句
在数据库操作中不建议使用like语句,但费用不可时,like"%aaa%"不会使用索引而like“aaa%”则可以使用索引。
4.
不要再索引列执行运算,这样会导致索引失效。
5.
使用越小越简单的数据类型越好;尽量避免null;
6.
组合索引仅能对索引最左边的索引进行有效查询。如:
索引列为c1,c2,以下查询语句有效:
select * form table where c1=1 and c2=2; select * from table where c1=1;
但对于一下查询语句是无效的:
select * from table where c2=2;
以上就是mysql数据库-索引的内容,更多相关内容请关注PHP中文网(www.)!
# 是在
# 就会
# 是一种
# 就像
# 相关内容
# 基础上
# 没有任何
# 提出了
# mysql
# 主键
# 宋体
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win11怎么清理C盘系统日志_Win11清理系统
- Windows10系统怎么查看设备管理器_Win1
- windows系统如何安装cab更新补丁_wind
- C++如何使用std::optional?(处理可
- LINUX下如何配置VLAN虚拟局域网_在LINU
- 如何用::实现工具类方法调用_php静态工具类设计
- C++中引用和指针有什么区别?(代码说明)
- php中::能用于接口静态方法吗_接口静态方法调用
- Ajax提交表单PHP怎么接收_处理Ajax发送的
- c++如何打印函数堆栈信息_c++ backtra
- Windows执行文件被SmartScreen拦截
- php打包exe后无法写入文件_权限问题解决方法【
- Mac如何整理桌面文件_Mac使用堆栈功能一键整理
- Windows10系统怎么查看防火墙状态_Win1
- Win11文件扩展名怎么显示 Win11查看文件后
- Windows服务无法启动错误1067是什么_进程
- Win10系统更新错误0x80240034怎么办
- 为什么本地php环境运行php脚本卡顿_php执行
- Golang如何遍历目录文件_Golang fil
- Python与GPU加速技术_CUDA与Numba
- php增删改查在php8里有什么变化_新特性对cu
- Go 中实现 Python urllib.quot
- 如何在Golang中使用内置函数_Golangle
- 为什么Go需要go mod文件_Go go mod
- Win11怎么关闭OneDrive同步_Win11
- Windows怎样拦截QQ浏览器广告_Window
- Win11怎么设置开机问候语_自定义Win11锁屏
- Mac怎么进行语音输入_Mac听写功能设置与使用【
- 如何在JavaScript中动态拼接PHP的bas
- 如何使用Golang实现云原生应用弹性伸缩_自动应
- 如何使用Golang实现容器健康检查_监控和自动重
- 如何处理“XML格式不正确”错误 常见XML we
- Win10如何卸载Skype_Win10卸载Sky
- Win11怎么设置快速访问_Windows11文件
- PythonPandas数据分析项目教程_时间序列
- 如何使用Golang defer优化性能_减少不必
- Linux如何使用Curl发送请求_Linux下A
- Win10如何更改任务栏高度_Windows10解
- 当网站SEO排名下降时,如何应对?
- 微信短链接怎么还原php_用浏览器开发者工具抓包获
- Win11屏幕亮度突然变暗怎么解决_自动变暗问题处
- Python音视频处理高级项目教程_FFmpegP
- 如何在Golang中处理通道发送接收错误_防止阻塞
- c++如何实现一个高性能的环形队列(Ring Bu
- Win11怎么关闭资讯和兴趣_Windows11任
- Win11怎么关闭防火墙通知_屏蔽Win11安全中
- Win10怎么关闭自动更新错误弹窗_Win10策略
- php嵌入式多设备通信怎么实现_php同时管理多个
- php中常量能用::访问吗_类常量与作用域操作符使
- Win11怎么查看显卡显存_查询Win11显卡详细

QQ客服