深入mysql基础知识的详解

时间:2024-01-21 06:04:45 

1.每个客户端连接都会从服务器进程中分到一个属于它的线程。而该连接的相应查询都都会通过该线程处理。

2.服务器会缓存线程。因此并不会为每个新连接创建或者销毁线程。

3.当发起对MySQL服务器的连接时,服务器会对 username,host,password进行验证。而一旦连接上,服务器就会检测其权限。

4.MySQL查询缓存只会保存 SELECT 语句和相应的结果。在解析查询之前会询问查询缓存,如果查询缓存中能找到相应的结果就直接返回结果。

5.MySQL的 data 文件夹下会根据每个数据库建立一个相应名称的文件夹。而每一张表对应的有三个不同后缀的文件:.frm,.MYD,.MYI。其中 .frm 后缀的文件用来存储表的定义。.MYD(mysql data)存储的是数据,而.MYI(mysql index)存储的是索引。

6.关于IP的存储类型选择。别再使用 varchar(15) 了,应该使用 INT UNSIGNED。而且最好是使用PHP的内置函数ip2long()和 long2ip() 来处理,而不是使用 MySQL 的函数 INET_ATON() 和 INET_NTOA()。尽可能地将计算和转换之类的东西交给程序来完成。存储为 INT 不仅节省了空间,而且利于查询。比如我想要查询出某个IP段的所有IP,varchar 是没办法进行的。

7. B+Tree 索引保存数据的顺序和建表时的字段顺序一致。InnoDB会自动在内存中为一些被频繁访问的索引值建立内存索引以加快速度。

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;

2.更改存储引擎
ALTER TABLE a ENGINE=InnoDB;

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

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

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

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

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

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有索引

标签:mysql基础
0
投稿

猜你喜欢

  • mysql 导出CSV文件 并带表头的方法

    2024-01-21 20:40:35
  • windows系统中Python多版本与jupyter notebook使用虚拟环境的过程

    2022-11-28 13:24:01
  • Python实现求解一元二次方程的方法示例

    2023-09-15 03:29:41
  • 通过Python实现猜灯谜游戏的示例代码

    2022-01-10 17:49:40
  • SQLServer注释快捷键操作

    2024-01-25 20:45:38
  • python中的逆序遍历实例

    2023-02-27 19:57:45
  • Postman使用详解

    2023-09-03 05:59:36
  • 客户端和服务端的编码“陷阱”

    2007-12-21 19:19:00
  • 懒人必备Python代码之自动发送邮件

    2022-08-31 20:17:41
  • IDEA 链接Mysql数据库并执行查询操作的完整代码

    2024-01-21 07:03:58
  • Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】

    2022-02-12 01:25:05
  • django项目环境搭建及在虚拟机本地创建django项目的教程

    2022-10-14 14:04:32
  • 跟老齐学Python之复习if语句

    2022-03-20 19:33:20
  • 使用python解析json字段的3种方式实例

    2021-12-24 04:16:27
  • 永不熄灭的爱心图标——腾讯公益月捐计划 “QQ首席图标”诞生记

    2009-09-01 19:43:00
  • 发个选星星打分/投票功能函数

    2008-05-22 12:38:00
  • SQLServer日期函数总结案例详解

    2024-01-13 07:50:49
  • python把数组中的数字每行打印3个并保存在文档中的方法

    2022-08-13 19:15:30
  • 说说CSS Hack 和向后兼容

    2010-05-17 13:11:00
  • python使用UDP实现客户端和服务器对话

    2023-03-24 17:59:27
  • asp之家 网络编程 m.aspxhome.com