MYSQL的索引和常见函数
MySQL的索引
索引机制
MySQL属于关系型数据库,为了提高查询速度,可以创建索引。
索引:由表中的一个或多个字段生成的键组成,这些键存储在数据结构(B树或者hash表中),于是又分为B树索引(InnoDB和MyISAM引擎支持)和哈希索引(Memory引擎支持)。
- 适合创建索引的字段:
- 1、经常查询的字段;
- 2、分组的字段(GROUP BY);
- 3、主键和外键字段;
- 4、唯一完整性约束的字段;
创建索引
普通索引
CREATE TABLE table-name(id int auto_increment not null, ... , INDEX index-name(column);
CREATE INDEX index-name ON table-name(column1);#已经有的表上创建普通索引
ALTER TABLE table-name ADD INDEX index-name(column);#同上
唯一索引
CREATE TABLE table-name(id int auto_increment not null, ... , UNIQUE INDEX index-name(column));
CREATE UNIQUE INDEX index-name ON table-name(column1);#已经有的表上创建唯一索引
ALTER TABLE table-name ADD UNIQUE INDEX index-name(column);#同上
全文索引
CREATE TABLE table-name(id int auto_increment not null, ... , FULLTEXT INDEX index-name(column));
CREATE FULLTEXT INDEX index-name ON table-name(column1);#已经有的表上创建全文索引
ALTER TABLE table-name ADD FULLTEXT INDEX index-name(column);#同上
多列索引
CREATE TABLE table-name(id int auto_increment not null, ... , UNIQUE INDEX index-name(column1, ...));
CREATE UNIQUE INDEX index-name ON table-name(column1, ...);#已经有的表上创建多列索引
ALTER TABLE table-name ADD UNIQUE INDEX index-name(column1, ...);#同上
删除索引
DROP INDEX index-name ON table-name;
MySQL的常见函数
字符串常用的函数
SUBSTRING(str,x,y) 返回字符串从x位置起y长度的字符串;
LOWER()和UPPER()
STRCMP(str1,str2)字符串比较
CONCAT()和CONCAT_WS()字符串拼接函数
LENGTH(str)字符串长度
CHAR_LENGTH(str)字符数
数值函数
MOD(x,y)求x模y的值
ABS(x)绝对值
CEIL(x)和FLOOR(x)#向上取整和向下取整
RAND()返回0-1内的随机数
时间日期函数
CURDATE()当前日期
CURTIME()当前时间
NOW()当前日期和时间
UNIX_TIMESTAMP(date)日期转时间戳
FROM_UNIXTIME()获取unix时间戳的日期值
WEEK()\YEAR()\HOUR()\MINUTE()\MONTHNAME()
系统函数
VERSION()
DATABASE()
USER()
IF(value,doiftrue,doifflase)
FORMAT(x,n)保留x的n位小数
MYSQL的索引和常见函数的更多相关文章
- 【夯实Mysql基础】MySQL性能优化的21个最佳实践 和 mysql使用索引
本文地址 分享提纲: 1.为查询缓存优化你的查询 2. EXPLAIN 你的 SELECT 查询 3. 当只要一行数据时使用 LIMIT 1 4. 为搜索字段建索引 5. 在Join表的时候使用相当类 ...
- MySQL中索引和优化的用法总结
1.什么是数据库中的索引?索引有什么作用? 引入索引的目的是为了加快查询速度.如果数据量很大,大的查询要从硬盘加载数据到内存当中. 2.InnoDB中的索引原理是怎么样的? InnoDB是Mysql的 ...
- MySQL 联合索引详解
MySQL 联合索引详解 联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c ...
- Mysql复合索引
当Mysql使用索引字段作为条件时,如果该索引是复合索引,必须使用该索引中的第一个字段作为条件才能保证系统使用该索引,否则该索引不会被使用,并且应尽可能地让索引顺序和字段顺序一致
- 如何正确建立MYSQL数据库索引
索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytabl ...
- mysql高性能索引策略
转载说明:http://www.nyankosama.com/2014/12/19/high-performance-index/ 1. 引言 随着互联网时代地到来,各种各样的基于互联网的应用和服务进 ...
- MySQL创建索引语法
1.介绍: 所有mysql索引列类型都可以被索引,对来相关类使用索引可以提高select查询性能,根据mysql索引数,可以是最大索引与最小索引,每种存储引擎对每个表的至少支持16的索引.总索引长度为 ...
- mysql使用索引优化查询效率
索引的概念 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针.更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度.在没 ...
- Mysql中索引的 创建,查看,删除,修改
创建索引 MySQL创建索引的语法如下: ? 1 2 3 CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON ...
随机推荐
- JSTL XML标签库 使用
推荐博客:http://blog.sina.com.cn/s/blog_4f925fc30101820u.html XML标签库 JSTL提供了操作xml文件的标签库,使用xml标签库可以省去使用Do ...
- GCT之数学公式(代数部分)
一.代数部分: 1.复数 2.一元二次方程 3.数列 4.排列组合
- go和python互调
https://www.cnblogs.com/huangguifeng/p/8931837.html Python调用go编写的高性能模块 https://yq.aliyun.com/artic ...
- [RN] 03 - Resource Collection & AWS Auth
那些资源 一.三个例子 iReading Bilibili-React-Native ZhiHuDaily-React-Native 二.IM 例子 1. React Native Socket.io ...
- [Arch] 02. Design principle and Software Pattern
Ref: 软件设计的七大原则 有时间的话,还需进一步深入理解. Figure, 重要的前五个原则 单一职责原则 (Simple responsibility pinciple SRP) 类的设计趋向于 ...
- Android反编译工具介绍与简单实用方法
Android反编译的目的无非就是为了看到APK的xml.资源和代码: 得到代码的方式:直接解压APK文件 --> 得到classes.dex文件 --> 使用 dex2jar class ...
- Linux+Redis实战教程_day02_Linux系统上安装MySQL
Linux系统上安装MySQL 安装MySQL 卸载自带mysql 查询mysql的安装情况,可以直接使用了 rpm -qa | grep -i mysql –-color 卸载原生的MySQL rp ...
- mac开机启动apache、memcached与mysql
一.开机自动启动apache方法 #sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist //开机启动 ...
- Linux应急响应(三):挖矿病毒
0x00 前言 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...
- IIS日志清理(VBS版,JS版)
IIS默认日志记录在C:\WINDOWS\system32\LogFiles,时间一长,特别是子站点多的服务器,一个稍微有流量的网站,其日志每天可以达到上百兆,这些文件日积月累会严重的占用服务器磁盘空 ...