mysql general clomun_关于MySQL索引index杂谈

MySQL建索引命令

create index index_name on tablename(clomun_name.....);

比如建了

CREATE INDEX  O_N_P_D  ON   t_db_netspeed(o,n,p,d)

建好索引之后,使用SELECT 命令进行查询

SELECT COUNT(*) FROM  t_db_netspeed WHERE O=1

这句话也会用到前面建立的索引 O_N_P_D,

首先我们来理解一下索引,多值索引中存放了N个索引值,这N个索引值的排序是按照建立索引的顺利来的,如果前面建立的那个索引,就是先根据o值建立索引然后再是n,p,d,如果o/n/p值都一样,则按照d值来排序。

——“索引对多个值进行排序的一句是CRATE TABLE 语句中定义索引时列的顺序”

所以即便是指查询O值也会用到索引O_N_P_D,即索引值时根据4个列值来建立的,不是非得具备这4个列值

但是这里也有个前提 就是顺序,即索引不能跳过索引顺序,可以看到索引o值时在索引O_N_P_D的第一个索引列

如果查询语句为

SELECT COUNT(*) FROM t_db_netspeed WHERE N=1;

此时就不会用到索引O_N_P_D索引

——“WHERE 配合索引是不分顺序的”

如果查询语句为:

SELECT COUNT(*) FROM t_db_netspeed WHERE n=1 AND o=1 AND p=1 AND d=1;

此语句也会用到索引O_N_P_D;

——优先索引数量

如果在上面那个表t_db_netspeed 也建立了另外一个索引P

CREATE INDEX P ON t_db_netspeed(p)

如果查询语句为:

SELECT COUNT(*) FROM t_db_netspeed WHERE p=1 AND o=1;

会优先使用索引P_N_P_D ,虽然查询语句中没有用到4个索引值,但是用了其中2个,所以不会使用索引P

———将table中数据删除后 索引index仍旧存在,重新插入数据后,索引貌似仍有效!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pythoncount函数怎么用_python中count函数简单的实例讲解

python中count函数的用法count()函数描述:统计字符串里某个字符出现的次数,可以选择字符串索引的起始位置和结束位置。语法:str.count("char", start,end) 或 str.count("char")返回值:整型参数说明&#xff…

twisted mysql_在Twisted下用MySQLadbapi获取自增id

D jango的ORM有一个很便捷的功能,其实也应该说是一个很基本的功能吧。就是在对一个model调用 save() 插入到数据库后,会将创建的D jango的ORM有一个很便捷的功能,其实也应该说是一个很基本的功能吧。就是在对一个model调用 save() 插入到数据…

java客户端_Java常用的Http client客户端

Http Client应用场景:Http协议是最重要的网络协议之一,目前移动端的开发、javaweb前后端分离架构,使越来越多的java应用使用http协议访问资源。Http client 大多数场景使用在多个服务之间相互调用rest api,特别是现在微服务架构的…

java 新浪邮箱_使用javamail发送邮件,sina的邮箱作为发信人不行

我参照网上,写了一个简单的使用javamail发送邮件的程序,使用一般的邮件服务器作为发件人,程序都很正常;但使用smtp.sina.com.cn作为邮件服务器地址的发件人时,程序却验证失败!这是什么原因?程序…

java des3加密_JAVA加密算法(3)- 对称加密算法(DES、3DES、AES)

对称加密算法概念加密密钥和解密密钥相同,大部分算法加密揭秘过程互逆。特点:算法公开、(相比非对称加密)计算量小、加密速度快、效率高。弱点:双方都使用同样的密钥,安全性得不到保证。常用对称加密算法DES(Data Encryption Stan…

android jni 调用java对象_Android NDK开发之Jni调用Java对象

本地代码中使用Java对象通过使用合适的JNI函数,你可以创建Java对象,get、set 静态(static)和 实例(instance)的域,调用静态(static)和实例(instance)函数。JNI通过ID识别域和方法,一个域或方法的ID是任何处理域和方法的函数的必须…

docker 容器端口访问不到_docker容器无法访问宿主机端口的解决

最近在工作时遇到一个问题,docker容器无法访问宿主机的redis,telent6379端口不通。 经排查发现,该服务器启用了防火墙,防火墙把6379的端口的访问授权给docker0网卡访问即可。 操作如下: firewall-cmd --permanent --zone=trusted --change-interface=docker0 firewall-cmd…

java public权限_Java public 访问权限

Java public 访问权限接下来,我们准备为大家介绍“public 访问权限”。在前面的学习中,我们已经接触过public这个关键字,就是在入口方法 main的前面,现在我们可以来回顾一下对应的代码:public class MyTest{publicstat…

java timer线程结束_Java线程Timer定时器用法详细总结

定时/计划功能主要使用的就是Timer对象,它在内部还是使用多线程的方式进行处理,所以它和线程技术还是有非常大的关联。Timer类主要作用就是设置计划任务,但封装任务的类却是TimerTask类。TimerTask类是一个抽象类。执行任务的时间晚于当前时间…

java在创建对象时必须_Java中5种创建对象的方式

以下是一些在Java中创建对象的方法:1、 使用new关键字使用new关键字是创建对象的最基本方法。这是在java中创建对象的最常见方法。几乎99%的对象都是这样创建的。通过使用这个方法,我们可以调用我们想要调用的任何构造函数(无参数或参数化构造函数)。//J…

java类的定义的实例_Java中类的定义和初始化示例详解

类的定义类的定义格式//创建类class classname{field ;//成员属性/字段method;//方法}class为定义类的关键字,classname为类的名字,{ }为类的主体;例如:class person{public string name ; //成员属性publi…

java 多线程池_Java ThreadPoolExecutor线程池 同时执行50个线程

最近项目上有个需求,需要从FTP服务器中下载大批量的数据文件,然后解析该数据文件进行入库,数据库为oracle,最后在通过web工程,以报表和图表的形式进行展现。这些批量的数据文件为纯文本文件,每天产生数据文…

java and dsl_Groovy语法糖以及DSL

前言Why初次接触到Groovy是在实习中接触到一个 纯Groovy写的项目,当时看了下这不就是没有分号的Java么,而且也是有年纪的语言了,并不想投入时间学习。后来工作中越来越多的看到Groovy的身影,Gradle,Spring Cloud Contr…

java序列化的方法_【Java常见序列化与反序列方法总结】

人和电脑在很多方面都是十分相似的,大脑可以看成电脑主机,五官/身体等表面器官就是显示器、鼠标等外设。这篇文章就是想把计算机跟人做类比YY一下序列化和反序列化的机制、用途。如果你是初学者,心里肯定会问究竟什么是序列化/反序列化&#…

python的编码模块char_关于sqlmap当中tamper脚本编码绕过原理的一些总结(学习python没多久有些地方肯定理解有些小问题)...

sqlmap中tamper脚本分析编写置十对一些编码实现的脚本,很多sqlmap里面需要引用的无法实现,所以有一部分例如keywords就只写写了几个引用了一下,其实这里很多脚本运用是可以绕过安全狗的。本人也是刚开始学习python没多久,有一些错…

java的多态怎么理解_JAVA多态的理解

面向对象的三大特性:封装、继承、多态,其中最难理解的就是多态以下是网上某大神给的一个例子:1.继承关系class A {public String show(D obj){return ("A and D");}public String show(A obj){return ("A and A");}}clas…

java class isassignablefrom_Java之——Class的isAssignableFrom方法

转载请注明出处 https://blog.csdn.net/l1028386804/article/details/80508540Class的isAssignableFrom方法定义如下public native boolean isAssignableFrom(Class ? cls);由方法签名可见是一个本地方法 即C代码编写的。以下是JDK中的注释Determines if the class or interfa…

java中堆栈的基本操作_玩儿转队列和栈的基本操作及其应用:Java 版

队列的基本操作队列入队出队实现队列是种先进先出的数据结构。队列的基本操作主要是入队和出队。数据从队尾进入队列,从队首出队列。下面来写一个简单的队列:public class MyQueue {private List data;private int pointer;public MyQueue() {data new ArrayList&l…

java规定日期格式输出_Java格式化输出日期百分比时间等

Java格式化输出Java的格式化输出等同于String.Format,与C有很大的相似,比如System.out.printf(“%8.2f”, x);在printf中,可以使用多个参数,例如:System.out.printf(“Hello, %s. Next year, you’ll be %d”, name, a…

java界面编辑教程_java程序设计基础教程第六章图形用户界面编辑.docx

java程序设计基础教程第六章图形用户界面编辑.docx还剩27页未读,继续阅读下载文档到电脑,马上远离加班熬夜!亲,很抱歉,此页已超出免费预览范围啦!如果喜欢就下载吧,价低环保!内容要点…