MYSQL教程深入mysql基础知识的详解
《MYSQL教程深入mysql基础知识的详解》要点: MYSQL实例1.每个客户端连接都会从服务器进程中分到一个属于它的线程.而该连接的相应查询都都会通过该线程处理. MYSQL实例2.服务器会缓存线程.因此并不会为每个新连接创建或者销毁线程. MYSQL实例3.当发起对MySQL服务器的连接时,服务器会对 username,host,password进行验证.而一旦连接上,服务器就会检测其权限. MYSQL实例4.MySQL查询缓存只会保存 SELECT 语句和相应的结果.在解析查询之前会询问查询缓存,如果查询缓存中能找到相应的结果就直接返回结果. MYSQL实例5.MySQL的 data 文件夹下会根据每个数据库建立一个相应名称的文件夹.而每一张表对应的有三个不同后缀的文件:.frm,.MYD,.MYI.其中 .frm 后缀的文件用来存储表的定义..MYD(mysql data)存储的是数据,而.MYI(mysql index)存储的是索引. MYSQL实例6.关于IP的存储类型选择.别再使用 varchar(15) 了,应该使用 INT UNSIGNED.而且最好是使用PHP的内置函数ip2long()和 long2ip() 来处理,而不是使用 MySQL 的函数 INET_ATON() 和 INET_NTOA().尽可能地将计算和转换之类的东西交给程序来完成.存储为 INT 不仅节省了空间,而且利于查询.比如我想要查询出某个IP段的所有IP,varchar 是没办法进行的. MYSQL实例7. B+Tree 索引保存数据的顺序和建表时的字段顺序一致.InnoDB会自动在内存中为一些被频繁访问的索引值建立内存索引以加快速度. MYSQL实例8.以下查询会引起索引失效: SELECT name FROM user WHERE id+1=4;??? // mysql不会从计算中去分析出id是有索引的 SELECT name FROM user WHERE TO_DAYS(birth) > 20;??? // mysql索引的是birth本身,而不是TO_DAYS()转化之后的数据 1.复制表结构 CREATE TABLE b LIKE a; MYSQL实例2.更改存储引擎 MYSQL实例3.复制表数据 MYSQL实例4.获取表信息 MYSQL实例5.清空二进制日志 MYSQL实例6.返回某字段前X个字符 MYSQL实例7.为某字段添加前缀索引 MYSQL实例8.避免读取不必要的行,使用索引覆盖查询 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |