摘要:MySQL对大家来说,都应该很熟悉了,从大学里的课程到实际工作中数据的存储查询,很多时候都需要用到数据库,很多人也写过与数据库交互的程序,在Java中你可能一开始会使用原生mysql-connector-java来进行操作,后来你会接触到Hibernate,Mybatis等ORM框架,其实它们底层也是基于mysql-connector-java,但很多时候我们并不清楚程序是怎么跟数据库具体交互的,比如执行一个SQL查询,程序是如何从MySQL中获取数据的呢?今天就让我们来看看最基础的MySQL网络协议分析。 阅读全文
2020-05-13 11:21:59 LeeChan 阅读 (42) 评论 (0) 点赞 (1) 标签:MySQL,网络协议 分类:技术编程
摘要:Client/Server 通讯协议用于客户端链接、代理、主备复制等,支持 SSL、压缩,在链接阶段进行认证,在执行命令时可以支持 Prepared Statements 以及 Stored Procedures 。 当打算编写数据库代理、中间件、对 MySQL 数据包进行审核时,都需要了解底层的通信协议。在本文中,主要介绍 MySQL 通讯协议相关的内容。 阅读全文
2020-05-12 20:13:21 LeeChan 阅读 (49) 评论 (0) 点赞 (0) 标签:MySQL,通讯协议 分类:技术编程
摘要:几篇有关MySQL网络通讯协议的文章 阅读全文
2020-05-12 18:39:53 LeeChan 阅读 (43) 评论 (0) 点赞 (2) 标签:mysql,通讯协议 分类:技术编程
摘要:#### **题目**:解释 SQL 的 left join 和 right join #### 出题人:阿里巴巴新零售技术质量部 #### **参考答案**: left join 和 right join 都是两个表进行 merge 的操作,left join 是将右边的表 merge 到左边,right join 是将左边的表 merge 到右边,通常我们会指定按照哪几列进行 merge 举个例子: **left table** | 姓名 | 学号 | | ---- | --------- | | 小红 | SZ1716029 | | 小明 | SZ1716030 | | 小王 | SZ1716031 | 阅读全文
2020-03-07 16:32:09 LeeChan 阅读 (26) 评论 (0) 点赞 (0) 标签:面试,09.MySQL篇 分类:MySQL篇
摘要:#### **题目**:数据库优化的思路 #### **参考答案**: 这个我借鉴了慕课上关于数据库优化的课程。 1.SQL语句优化 - 应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 - 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: ```sql select id from t where num is null ``` 可以在num上设置 阅读全文
2020-03-07 16:32:09 LeeChan 阅读 (41) 评论 (0) 点赞 (0) 标签:面试,09.MySQL篇 分类:MySQL篇
摘要:#### **题目**:连接的种类 #### **参考答案**: 查询分析器中执行: ``` --建表table1,table2: create table table1(id int,name varchar(10)) create table table2(id int,score int) insert into table1 select 1,'lee' insert into table1 select 2,'zhang' insert into table1 select 4,'wang' insert into table2 select 1,90 insert into table2 select 2,100 insert into table2 select 3,70 ``` 如表: ``` ------------------------------------------------- table1 | table2 | -------------- 阅读全文
2020-03-07 16:32:09 LeeChan 阅读 (34) 评论 (0) 点赞 (0) 标签:面试,09.MySQL篇 分类:MySQL篇
摘要:#### **题目**:索引的工作原理及其种类 #### **参考答案**: **数据库索引**,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构, 阅读全文
2020-03-07 16:32:09 LeeChan 阅读 (16) 评论 (0) 点赞 (0) 标签:面试,09.MySQL篇 分类:MySQL篇
摘要:#### **题目**:drop,delete与truncate的区别 #### **参考答案**: drop直接删掉表 truncate删除表中数据,再插入时自增长id又从1开始 delete删除表中数据,可以加where字句。 (1) DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日 阅读全文
2020-03-07 16:32:09 LeeChan 阅读 (19) 评论 (0) 点赞 (0) 标签:面试,09.MySQL篇 分类:MySQL篇
摘要:本文介绍Mysql开启慢查询日志以及慢查询字段代表的意思。 阅读全文
2019-11-11 11:56:05 LeeChan 阅读 (106) 评论 (0) 点赞 (0) 标签:MySQL,慢查询,原创 分类:技术编程