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


猜你喜欢
- 1、集合相加a = {1,2,3}b = {3,4,5}print(type(a))print(a|b)2、queryset 符合条件的筛序
- 文 | 李晓飞来源:Python 技术「ID: pythonall」最近有了一个新任务,需要将赛事视频,拆分成两分钟以内的小段,用
- 在PyTorch中可以方便的验证SoftMax交叉熵损失和对输入梯度的计算关于softmax_cross_entropy求导的过程,可以参考
- 本文实例讲述了python类继承用法。分享给大家供大家参考。具体方法如下:#!/usr/bin/python# Filename: inhe
- 自己最近有在学习python,这实在是一门非常短小精悍的语言,很喜欢这种语言精悍背后又有强大函数库支撑的语言。可是刚接触不久就遇到了让人头疼
- 本文研究的主要是Python编程通过pandas将数据分割成时间跨度相等的数据块的相关内容,具体如下。先上数据,有如下dataframe格式
- Embedding词嵌入在 pytorch 中非常简单,只需要调用 torch.nn.Embedding(m, n) 就可以了,m 表示单词
- load事件<script type="text/javascript"> $('img
- 日期包常用函数time.Now(): 获取当前时间package mainimport ( "fmt&q
- 从这节算是开始进入“正规”的机器学习了吧,之所以“正规”因为
- 这个javascript划词搜索功能,在很多地方我们都会看到,特别是装了浏览器插件的时候,当我们用鼠标选择一段文字的时候,就会出现搜索提示,
- 完美解决“换另一台电脑上用VS2008继续开发web项目时出现 “System.Runtime.InteropServices.COMExc
- 一、效果展示在介绍代码之前,先来看下本文的实现效果。可以参考下面步骤把Python文件转化成exe,发给未安装Python的他/她。Pins
- 由于我个人电脑装的Excel是2016版本的,所以这地方我使用了XSSF 方式导入 。1 先手要制定一个Excel 模板 把模板放入java
- 通常用户看到的页面的样式会受到三层控制,第一层是浏览器的默认样式,第二层是网页定义样式,第三层是用户自定义样式。和CSS一样,后面的优先级高
- 报错:Uncaught SyntaxError: Unexpected token o in JSON at position 1at JS
- 目录一.models数据库映射二.serializers序列化三.url路由四.Views视图类一.models数据库映射from djan
- 本文适用范围:全面阐述MySQL数据库的各种操作,分虚拟主机和服务器两种情况。虚拟主机1、通过PHPMyAdmin的导入导出功能,这个软件一
- Tag,直译标签,是一种由用户自定义的、用于描述信息 [1]的关键词。Tagging是用户为信息赋予Tag的行为。Delicious,Fli
- <%'***********************************************'函数