[PHP][mysql] 需要知道的那些事
就是想总结一下自己不会的!
sql:
1、在SQL语句中出现AS,是起别名的意思!
例子:select a.* from table_1 as a就是给table_1起个别名叫a,因此前面就可以使用a.*了
2、在SQL语句中SUM与COUNT的区别:
SUM是对符合条件的记录的数值列求和;
COUNT 是对查询中符合条件的结果(或记录)的个数
3、在SQL语句前出现explain:
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句
我理解的就是更详细的显示sql语句的处理!
4、分析sql索引
1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因),必须是条件都有索引才使用
2.like查询是以%开头,不适用索引
3.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引
4.如果mysql估计使用全表扫描要比使用索引快,则不使用索引
5.当取出的数据量超过表中数据的20%(应该说是查询大部分),优化器就不会使用索引,而是全表扫描。
6.如果查询中包括group by 但用户想要避免排序结果的消耗,则可以使用order by null禁止排序。
7.还有就是聚合索引的最左原则,如果设置了聚合索引,只有前面的使用索引,后面的才能使用所用!
5、索引创建与删除
创建:CREATE index 索引名 on 表名(字段名);
唯一:CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length));
ALTER TABLE 表名 ADD INDEX (字段);
PRIMARY KEY(主键索引):ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` );
UNIQUE(唯一索引):ALTER TABLE `table_name` ADD UNIQUE (`column`);
INDEX(普通索引):ALTER TABLE `table_name` ADD INDEX index_name ( `column` );
FULLTEXT(全文索引):ALTER TABLE `table_name` ADD FULLTEXT ( `column` );
多列索引:ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` );
删除:DROP INDEX 索引名 ON 表名;
查询:explain 表名;
desc 表名;//和explain的查询效果一样
show index from 数据库.表名 (例:show index from lpcblog.test;);
#查看相同表前缀的表数量
sELECT count(table_name)FROM information_schema.tables WHERE table_schema = 'lpcblog' AND table_name LIKE 'blog_%'
show tables like 'blog_%'
nginx:
nginx配置详情: events 事件模型: 多线程 多进程 异步处理 (epoll select)
http http服务
server 虚拟主机
server_name 名称
listen 端口
root : 网站根目录
alias : 目录的别名,指向真实的根目录
index : 默认的主页 index.html index.htm default.html welcome.jpg
location 资源解析
location 匹配规则
精准匹配 优先级最高
正则匹配
6、知道字段而不知道在,字段在那个表里:用root用户 查询 information_schema 库 ,select `TABLE_NAME` from `COLUMNS` where `COLUMN_NAME`='字段名';
说明: information_schema 库其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等;
[PHP][mysql] 需要知道的那些事的更多相关文章
- mysql编码的那点事
Mysql编码问题 在php页面可以向mysql插入英文字符,但就是不能插入中文字符,在cmd客户端也可从插入,这是困扰我两天的问题. 在网上找了很多资料,最终确定了是字符编码这个地方出现了问题,首 ...
- MySQL 关于存储过程那点事
存储例程是存储在数据库服务器中的一组sql语句,通过在查询中调用一个指定的名称来执行这些sql语句命令. 简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完 ...
- MySQL 关于索引那点事
索引 其实数据库中的数据是按页存放的其实索引也是按页存放的所以本质上索引也占硬盘空间(以最小的消耗,换取最大的利益) 索引是一种有效组合数据的方式!为快速查找到指定记录做铺垫 目的就是快速或者某个记录 ...
- 安装MySQL后要做的事
安装MySQL后要修改的配置 [mysql] default-character-set=utf8 [mysqld] # 关闭域名反解 skip_name_resolve # 每表一个独立的表空间文件 ...
- hadoop与mysql数据库的那点事
转眼间已经接触了hadoop两周了,从之前的极力排斥到如今的有点喜欢,刚开始被搭建hadoop开发环境搞得几乎要放弃,如今学会了编写小程序,每天都在成长一点挺好的,好好努力,为自己的装备库再填 ...
- 关于MySQL AUDIT(审计)那点事
2017年06月02日MySQL社区版本最新版为MySQL_5.7.18,但是该版本不带AUDIT功能(MySQL Enterprise Edition自带AUDIT功能),因此需要加载plugin( ...
- MySQL 备份数据那点事
mysqldump 什么是 mysqldump ? mysqldump 是 MySQL 用于执行逻辑备份的一款工具,可以根据原始数据库对象以及表的定义和数据来生成一系列可以被执行的 SQL 语句. 通 ...
- gorm连接mysql和模型定义那些事
1. gorm操作mysql: 1.1 安装gorm gorm官网: https://gorm.io/zh_CN/docs/connecting_to_the_database.html gorm的g ...
- mysql分库分表那些事
为什么使用分库分表? 如下内容,引用自 Sharding Sphere 的文档,写的很大气. <ShardingSphere > 概念 & 功能 > 数据分片> 传统的 ...
随机推荐
- MySQL优化之执行计划
前言 研究SQL性能问题,其实本质就是优化索引,而优化索引,一个非常重要的工具就是执行计划(explain),它可以模拟SQL优化器执行SQL语句,从而让开发人员知道自己编写的SQL的运行情况. 执行 ...
- ML Lecture 0-1: Introduction of Machine Learning
本博客是针对李宏毅教授在Youtube上上传的课程视频<ML Lecture 0-1: Introduction of Machine Learning>的学习笔记.在Github上也po ...
- 从使用到原理,探究Java线程池
什么是线程池 当我们需要处理某个任务的时候,可以新创建一个线程,让线程去执行任务.线程池的字面意思就是存放线程的池子,当我们需要处理某个任务的时候,可以从线程池里取出一条线程去执行. 为什么需要线程池 ...
- 【Pytest01】全网最全最新的Pytest框架快速入门
一.Pytest简介pytest是一个非常成熟的全功能的Python测试框架,主要有一下几个特点:1.简单灵活,容易上手,支持参数化2.能够支持简单的单元测试和复杂的功能测试,还可以用来做seleni ...
- 【python系统学习12】函数
函数 函数是一堆组织好的.可重复利用的.用来实现某一功能的代码. python中的input().print().type().bool().len()等都是函数.且是python的内置函数. 我们也 ...
- FastDFTJava客户端使用
1.1.java客户端 余庆先生提供了一个Java客户端,但是作为一个C程序员,写的java代码可想而知.而且已经很久不维护了. 这里推荐一个开源的FastDFS客户端,支持最新的SpringBoot ...
- c++ 重载、继承、多态
一.重载 1.函数重载 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数.类型或者顺序)必须不同.您不能仅通过返回类型的不同来重载函数. #include & ...
- Babel快速入门
作者:姜瑞涛 Github仓库:https://github.com/jruit/babel-tutorial 博客:姜瑞涛的官方网站 原文链接:https://www.jiangruitao.com ...
- 在线诊断工具arthas (windows)
介绍: arthas是阿里巴巴开发的一款开源的,Java应用程序排查问题的非常好用的工具 当你遇到以下类似问题而束手无策时 arthas 可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各 ...
- 徒手生撸一个验证框架,API 参数校验不再怕!
你们之中大概率早已练就了代码的拷贝.粘贴,无敌的码农神功,其实做久了业务功能开发,练就这两个无敌神功,那是迟早的事儿.今天先抛一个小问题,来打通你的任督二脉,就是很好奇的问一下:业务功能开发中,输入参 ...