加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL教程深入mysql基础知识的详解

发布时间:2020-12-12 01:01:16 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL教程深入mysql基础知识的详解》要点: 本文介绍了MYSQL教程深入mysql基础知识的详解,希望对您有用。如果有疑问,可以联系我们。 MYSQL实例 1.每个客户端连接都会从服务器进程中分到一个属于它的线程.而该连接的相应查询都都会通过该线程处理. MYSQL

《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.更改存储引擎
ALTER TABLE a ENGINE=InnoDB;

MYSQL实例3.复制表数据
INSERT INTO b SELECT * FROM a;

MYSQL实例4.获取表信息
SHOW TABLE STATUS LIKE '%XXX%'; ? // 获取表名符合LIKE的表信息.
SHOW TABLE STATUS FROM `数据库名`; ? // 获取该数据库下所有表的信息

MYSQL实例5.清空二进制日志
RESET MASTER;

MYSQL实例6.返回某字段前X个字符
SELECT LEFT(name,3) AS pre_name FROM user;

MYSQL实例7.为某字段添加前缀索引
ALERT TABLE xxx ADD KEY (name(3));

MYSQL实例8.避免读取不必要的行,使用索引覆盖查询
SELECT?*?FROM?JOIN?(SELECT?prod_id?FROM?products?WHERE?actor='SEAN?CARREY'?AND
title?LIKE?'%APOLLO%')?AS?t?ON?(t.prod_id=products.prod_id);?//?其中actor有索引

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读