php普通索引和唯一索引,MySQL 普通索引、唯一索引和主索引-程序员宅基地

技术标签: php普通索引和唯一索引  

MySQL 普通索引、唯一索引和主索引

1、普通索引

普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHEREcolumn=)或排序条件(ORDERBYcolumn)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。

2、唯一索引

普通索引允许被索引的数据列包含重复的值。比如说,因为人有可能同名,所以同一个姓名在同一个“员工个人资料”数据表里可能出现两次或更多次。

如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。这么做的好处:一是简化了MySQL对这个索引的管理工作,这个索引也因此而变得更有效率;二是MySQL会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了;如果是,MySQL将拒绝插入那条新记录。也就是说,唯一索引可以保证数据记录的唯一性。事实上,在许多场合,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。

3、主索引

在前面已经反复多次强调过:必须为主键字段创建一个索引,这个索引就是所谓的“主索引”。主索引与唯一索引的唯一区别是:前者在定义时使用的关键字是PRIMARY而不是UNIQUE。

4、外键索引

如果为某个外键字段定义了一个外键约束条件,MySQL就会定义一个内部索引来帮助自己以最有效率的方式去管理和使用外键约束条件。

5、复合索引

索引可以覆盖多个数据列,如像INDEX(columnA,columnB)索引。这种索引的特点是MySQL可以有选择地使用一个这样的索引。如果查询操作只需要用到columnA数据列上的一个索引,就可以使用复合索引INDEX(columnA,columnB)。不过,这种用法仅适用于在复合索引中排列在前的数据列组合。比如说,INDEX(A,B,C)可以当做A或(A,B)的索引来使用,但不能当做B、C或(B,C)的索引来使用。

6、索引的长度

在为CHAR和VARCHAR类型的数据列定义索引时,可以把索引的长度限制为一个给定的字符个数(这个数字必须小于这个字段所允许的最大字符个数)。这么做的好处是可以生成一个尺寸比较小、检索速度却比较快的索引文件。在绝大多数应用里,数据库中的字符串数据大都以各种各样的名字为主,把索引的长度设置为10~15个字符已经足以把搜索范围缩小到很少的几条数据记�

相关文档:

Linux + Apache2.0 + Mysql + PHP + phpBB3.0

1.安包:

Apache2.0

#tar -zxf httpd-***.tar.gz -C /usr/local/src/

#cd /usr/local/src/httpd-***

&nbsp ......

Mysql数据库是一个多用户,多线程的关系型数据库,是一个客户机/服务器结构的应用程序。它是对个人用户和商业用户是免费的.

Mysql数据库具有以下优点:

1.同时访问数据库的用户的数量不受限制

2.可以保存超过5千万条的记录

3.是目前市场上现有数据库产品中运行速度最快的数据库系统

4.用户权限 ......

1、创建mysql数据库的管理用户

数据库安装好后,我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员,此时需要执行下面命令:

[root@CDS2 bin]# /usr/bin/mysqladmin -u root password 123456

说明:上面创建的mysql数据库管理员为root,密码123456

2、创建一般的用户

工作中用到web服务器和mysql服务� ......

Mysql在默认情况下建立表的字符编码是latin1,所以在插入中文时会出错。

eg:

1、查看表建立的sql源码:

1: sql命令:show create table users

2:

3: 结果:

4: CREATE TABLE `users` (

5: `userID` int(10) unsigned NOT NULL AUTO_INCREMENT,

6: `userName` varchar(4 ......

今天需要从远程服务器down一个uchome的数据库下来,在本地还原。

发现一个很不爽的事情:远程8G,N核的linux机器,备份还原操作顺溜溜的,可是在本地的windows,2G普通PC上,才100M的文件,用uchome自带的分卷备份还原,基本上中间都会断掉,要么提示“执行时间过长”(改成200秒,分卷为20M都不行),要么就� ......

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35061887/article/details/116251895

智能推荐

RK3399 开发板增加红外遥控器支持_rk3399 更改遥控器键值-程序员宅基地

文章浏览阅读2.7k次。RK3399 开发板增加红外遥控器支持修改DTSI文件$ vi kernel/arch/arm64/boot/dts/rockchip/rk3399pro-toybrick-prod.dtsi// add by renton&pwm3 { status = "okay"; pinctrl-names = "default"; interrupts = <..._rk3399 更改遥控器键值

鸿蒙操作系统系列——科普篇_鸿蒙原理-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏12次。2020年6月2日华为将正式发布鸿蒙手机操作系统,有人说鸿蒙是PPT系统,快发布了说耍猴,真发布了又说是Android套壳。不兼容运行Android程序说要之何用,能运行了又说是基于Android,杠精真的是啥都能说。但凡去看一眼OpenHarmony在开放原子开源基金会(OpenAtom Foundation)旗下开源项目https://gitee.com/openharmony就知道这是一款定位为全场景的开源分布式操作系统。当然,众口难调,长的一样你们说是Android,长的不一样你们说是生态环境..._鸿蒙原理

包含 videodev2.h 时 timestamp 报错的解决方法_unexpected timestamp values detected. this can occ-程序员宅基地

文章浏览阅读3.5k次。在#include <linux/videodev2.h> 后编译会报一个错:field ‘timestamp’ has incomplete type struct timespec timestamp; 2225 解决方法是在#include <linux/videodev2.h> 之前加两行:#include ..._unexpected timestamp values detected. this can occur in h.264 videos not enc

HTTP访问控制(CORS) 跨域访问_hls cors是-程序员宅基地

文章浏览阅读1.7k次。当一个资源请求一个其它域名的资源时会发起一个跨域HTTP请求(cross-origin HTTP request)。比如说,域名A(http://domaina.example)的某 Web 应用通过标签引入了域名B(http://domainb.foo)的某图片资源(http://domainb.foo/image.jpg),域名A的 Web 应用就会导致浏览器发起一个跨域 HTTP 请_hls cors是

Java实现 蓝桥杯VIP 基础练习 字符串对比_蓝桥给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的-程序员宅基地

文章浏览阅读1.1w次。问题描述  给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:  1:两个字符串长度不等。比如 Beijing 和 Hebei  2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing  3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它..._蓝桥给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的

MySQL存储过程详解(正文)_mysql 存储正文-程序员宅基地

文章浏览阅读963次。我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的_mysql 存储正文

随便推点

JAVASE(基础)基于网络的文件传输项目综合练习_javase综合练习案例-程序员宅基地

文章浏览阅读220次。大家好,我是雨宣,时隔多日,又和大家见面了。近期又很多人私信我,大多数都是刚学完JAVASE的小白或者是想回顾JAVASE阶段的白小白,苦于找不到合适的练习题,很多教程后面会有少量的练习题,但是综合度不高,针对性一般,大多数人做完了我之前写的一个JAVASE项目综合演练后,觉得还是不够,还想来个在有难度的练习题。这段时间忙中抽闲,结合企业中实际的业务场景以及JAVASE自身的知识点,给大家带来了一个基于网络,IO以及其他基础知识点的综合练习项目。这个项目主要考察大家对IO流,InputStre..._javase综合练习案例

Mybatis整合Redis实现二级缓存-程序员宅基地

文章浏览阅读896次,点赞14次,收藏10次。1、二级缓存开启,既可以缓存单条,也可以缓存多条2、可以通过mapper.xml的useCache属性控制是否使用缓存小编利用空余时间整理了一份《MySQL性能调优手册》,初衷也很简单,就是希望能够帮助到大家,减轻大家的负担和节省时间。关于这个,给大家看一份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》

课题组都在用的机器学习画图模板! 开放下载啦-程序员宅基地

文章浏览阅读129次。下载关注公众号AI算法与图像处理:并在公众号后台回复“绘图模板”,即可获取下载来源:机器之心神经网络画图神器 ML Visuals 正在持续更新。github上有一个名为 ML Visuals 的机器学习画图模板,该项目受到广泛关注,迄今已收获 7.2K Star。ML Visuals 专为解决神经网络画图问题设计!项目地址:https://github.com/dair-ai/ml-visua..._ml visuals下载

ctf 网络安全比赛简介_网络攻击比赛-程序员宅基地

文章浏览阅读330次。MISC(安全杂项):全称Miscellaneous。题目涉及流量分析、电子取证、人肉搜索、数据分析、大数据统计等等,覆盖面比较广。我们平时看到的社工类题目;给你一个流量包让你分析的题目;取证分析题目,都属于这类题目。主要考查参赛选手的各种基础综合知识,考察范围比较广。PPC(编程类):全称Professionally Program Coder。题目涉及到程序编写、编程算法实现。算法的逆向编写,批量处理等,有时候用编程去处理问题,会方便的多。当然PPC相比ACM来说,还是较为容易的。_网络攻击比赛

代码注释对齐_写代码时每行的注释怎么对齐-程序员宅基地

文章浏览阅读3.9k次。图1图2感觉上我们认为图2是我们想要的注释对齐的效果。但感觉是不能拿来代码实现的。所以我们需要定义什么叫注释对齐。如下图假设代码部分的长度为CL,代码到//之间的长度为Width。注释对齐实际上就是计算Width-CL,中间填充这么多个空格。那么尝试定_写代码时每行的注释怎么对齐

JS高阶技巧(深浅拷贝,节流,防抖)_uni-app js 深拷贝存在函数-程序员宅基地

文章浏览阅读335次。当JavaScript开始解释执行代码的时候,最先遇到的就是全局代码,所以它会向执行上下文栈压入一个全局执行上下文,我们用globalContext表示,并且只有当整个程序运行结束时,ECStack才会被清空,所以程序结束之前,ECStack最底部永远有个globalContext。JavaScript引擎执行是顺序执行的,但是它并不是一行一行地分析和执行代码,而是一段一段地分析和执行的。因此当我们只想改变this指向,并且不想调用这个函数的时候,可以使用bind,比如改变定时器内部的this指向。_uni-app js 深拷贝存在函数

推荐文章

热门文章

相关标签