Mysql学习总结(65)——项目实战中常用SQL实践总结
(1)负向条件查询不能使用索引
- select x1, x2 from order where status!=0 and stauts!=1
not in/not exists都不是好习惯
可以优化为in查询:
- select x1, x2 from order where status in(2,3)
(2)前导模糊查询不能使用索引
- select x1, x2 from order where desc like '%XX'
而非前导模糊查询则可以:
- select x1, x2 from order where desc like 'XX%'
(3)数据区分度不大的字段不宜使用索引
- select x1, x2 from user where sex=1
原因:性别只有男,女,每次过滤掉的数据很少,不宜使用索引。经验上,能过滤80%数据时就可以使用索引。对于订单状态,如果状态值很少,不宜使用索引,如果状态值很多,能够过滤大量数据,则应该建立索引。
(4)在属性上进行计算不能命中索引
- select x1, x2 from order where YEAR(date) < = '2017'
即使date上建立了索引,也会全表扫描,可优化为值计算:
- select x1,
Mysql学习总结(65)——项目实战中常用SQL实践总结相关推荐
- Vue3+TypeScript从入门到进阶(六)——TypeScript知识点——附沿途学习案例及项目实战代码
文章目录 一.简介 二.Vue2和Vue3区别 三.Vue知识点学习 四.TypeScript知识点 一.JavaScript和TypeScript 二.TypeScript的安装和使用 1.Type ...
- Vue3+TypeScript从入门到进阶(八)——项目打包和自动化部署——附沿途学习案例及项目实战代码
文章目录 一.简介 二.Vue2和Vue3区别 三.Vue知识点学习 四.TypeScript知识点 五.项目实战 六.项目打包和自动化部署 一. 项目部署和DevOps 1.1. 传统的开发模式 1 ...
- 项目开发中常用JS表单取值方法
项目开发中常用JS表单取值方法 一.常用表单基本取值方法(form1为表单名称,TextBox1为控件ID,以文本框为例,html控件与web服务器控件是一样的) 1.form1.Te ...
- Spring Boot 学习[四] web项目实战训练(增删改查,分页,排序)
Spring boot非常适合Web应用程序开发.您可以轻松创建自包含的HTTP应用.web服务器采用嵌入式Tomcat,或者Jetty等. 几点说明: Spring boot开发web项目,通常打成 ...
- Git码云项目开发中常用分支
Git码云项目开发中常用分支 master分支,即主分支.任何项目都必须有个这个分支.对项目进行tag或发布版本等操作,都必须在该分支上进行. develop分支,即开发分支,从master分支上检出 ...
- 项目开发中常用的git套路
在项目开发中常用的git套路: 1.在本地文件夹中,(在库名文件夹下)打开git bash 2.如果想在github上新建一个仓库,则 git init 否则略过这一步 3.建立关联 git re ...
- 计算机目录读取,从项目目录中读取SQL查询文件(Read SQL query file from project directory)...
从项目目录中读取SQL查询文件(Read SQL query file from project directory) 我在Visual Studio项目中放置了3个特别大的SQL查询,位于项目目录中 ...
- 学习型索引在数据库中的应用实践
9月29日,我们邀请到开务数据库研发工程师邹彤老师与大家一起研读大咖论文,主题为<学习型索引在数据库中的应用实践>. 索引是数据库引擎的重要组成部分,在当下数据井喷式爆发的阶段,如何高效准 ...
- J2EE项目开发中常用到的公共方法
在项目IDCM中涉及到多种工单,包括有:服务器|网络设备上下架工单.服务器|网络设备重启工单.服务器光纤网线更换工单.网络设备撤线布线工单.服务器|网络设备替换工单.服务器|网络设备RMA工单.通用原 ...
最新文章
- C#命名规则、开发习惯和风格
- python 分数序列求和公式_Python分数序列求和,编程练习题实例二十四
- python svm算法smo cifar_使用smo算法编写svm对CIFAR-10数据分类
- bzoj 2653 洛谷 P2839 [国家集训队] middle
- docker portainer_「实战篇」开源项目docker化运维部署-Portainer管理集群部署(十)...
- 封装的一个http请求struct,包含:头、cookie、代理、超时、本地ip切换
- easyui datagrid 单选框 效果
- c++ 形参用指针 还是对象_Java 和 C/C++两大高手的对比
- HDU 6096 树套树
- oracle分区实战,Oracle分区实战分享
- ikm2022/IKM考试/ikm java
- 超级好用的画图吸色工具FastSton Capture
- VSCode摸鱼插件,让工作更轻松
- 软件的行业适配性:进销存软件与五金行业
- pytorch转onnx: step = 1 is currently not supported以及Exporting the operator silu to ONNX opset version
- 【随文杂想】超长图PS 切片为打印机 A4纸大小打印
- 硬盘大于2t linux安装 集群 网络,centos 6在大于2T硬盘上安装系统
- 论文笔记1:Full-Spectrum Denoising of High-SNR Hyperspectral Images
- MySQL下载压缩包安装详细过程
- ai人工智能将替代人类_AI和人类如何优化空气污染监测
热门文章
- 详解CvScalar类型
- 1 1 2 3 5 8 java_1 1 2 3 5 8 13 21 34规律:一个数据等于前两个数之和.用java做,输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值....
- java vm for mac_Java VisualVM for Mac 构建方法
- 中input标签赋值_Java程序员:Spring MVC JSP表单标签示例
- vue保存页面的值_vue前端页面跳转参数传递及存储
- Python跨目录引用模块(文件)
- mysql 查看collation_MySQL collation方法
- linux进程tss和ldt,x86体系下linux中的任务切换与TSS
- 游戏服务器系统是什么意思,游戏服务器都是什么系统
- php 集字抽奖,php字符集转换