时间:2021-05-02
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有索引
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
JS闭包详解及实例:最近学习JS的基础知识,学习了闭包的知识点,有很多疑惑,这一段时间还是一直有在看闭包的相关知识理解就更深入了一点,下面说说我的理解。func
前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(一)——MyBatis的基础知识。MybatisFirst中存在大量重复的代码。这次简
越来越多的人在学习SEO,学习SEO需要了解的基础知识?学习seo首先要了解seo基础知识,先打好基础,掌握好seo基础知识,优化道路才会走得顺畅和稳固。那么新
之前一篇文章介绍了jQueryValidate表单验证入门的基础知识,详细内容参见《jQueryValidate表单验证入门学习》,今天这篇文章深入学习jQue
一个合格的外贸人员,不光是对专业技能要求高,还要求个人具有很强的综合能力!做为一个合格的外贸人员,首先,基础知识一定要过硬,这里的基础知识指国际贸易基础知识,比