透彻了解mysql的基本知识
1。每个客户机连接将从服务器进程中分为它的一个线程,而通过所有线程处理的连接的相应查询。2。服务器缓存线程。因此,不会为每个新连接创建或销毁线程。
三.当启动到MySQL服务器的连接时,服务器将验证用户名、主机和密码。连接一旦连接,服务器将检测其权限。
的4.mysql查询缓存只保存SELECT语句和相应的结果。查询缓存是在解析查询请求,并返回结果的话直接查询缓存可以找到相应的结果。
对5.mysql数据文件夹将创建一个基于每个数据库的相应名称的文件夹。每个表对应一个文件有三个不同的后缀:。FRM,。MYD,。myi.the文件的后缀。FRM用于存储表.. MYD的定义(MySQL数据库存储数据,while.myi(MySQL)指数)存储索引。
6。对IP存储类型的选择。不要使用varchar(15),你应该使用int unsigned,最好是使用PHP的内置函数ip2long和long2ip()()来处理,而不是使用MySQL的功能inet_aton()()和()inet_ntoa。尽可能,诸如计算和转换了程序。存储为int不仅节省了空间,而且是很好的查询,例如,我想找到所有IP段的IP,和varchar不能够做到。
7。B+树索引保持以相同顺序的数据字段的表built.innodb自动设置一些经常访问的内存中的索引值来加快内存索引。
以下8。查询将导致索引失败:
复制代码代码如下所示:
从用户名中选择id为1 + 4的MySQL;不从计算中使用索引分析ID。
选择的名字从用户那里to_days(出生)> 20; / / MySQL索引是生产本身,而不是(to_days)转换后的数据
1。复制表结构
创建表B;
2。更改存储引擎
A表= InnoDB引擎;
三.复制表数据
从A插入到B选择*;
4。得到的表的信息
显示表状态,如% xxx %;获取表名称,如表信息。
从数据库名称中显示表状态;所有对数据库表信息的访问
5。空的二进制日志
复位大师;
6。在字段前返回x字符
选择左(名称,3)为pre_name用户;
7。为字段添加前缀索引
警报表xxx键(名称(3));
8。避免读取不必要的行,并用索引覆盖查询
SELECT * FROM加入(选择prod_id从产品'sean carrey'and演员
标题是阿波罗为T(t.prod_id =产品。prod_id)); / /演员指数