![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
进击的小绵羊
这个作者很懒,什么都没留下…
展开
-
[HY000][1418] This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration
Mysql在创建函数时报如下错误: [HY000][1418] This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 解决方法: set global log原创 2020-08-05 22:25:49 · 592 阅读 · 0 评论 -
你真的懂锁(Mysql)吗,你品,你细品?
1、概念 锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具,在计算机中,是协调多个进程或线程并发访问某一资源的一种机制,在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源,如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素。 2、栗子 在购买商品时, 商品库存只有1个时 ,两个人同时买时, 谁买到的问题,会用到事务, 先从库存表中取出物品的数据, 然后插入订单,付原创 2020-05-11 18:48:38 · 141 阅读 · 0 评论 -
你可能不知道in与exists的区别,你品,你细品
1、小表驱动大表 小表驱动大表,即小的数据集驱动大得数据集 for(int i=5;.......) { for(int j=1000;......) {} } 如果小的循环在外层,对于数据库连接来说就只连接5次,进行1000次操作,如果1000在外,则需要进行1000次数据库连接,从而浪费资源,增加消耗。这就是为什么要小表驱动大表。 2、in与exists如何选择 exist与in可以相互替代 使用in: select * from employees wher.原创 2020-05-11 15:16:15 · 230 阅读 · 1 评论 -
你可能真的不知道的索引,你品,你细品?
1、 索引相关面试题 说 出 以 下 语 法 使 用 索 引 的 情 况 假设建立复合索引(a,b,c),请说出以下条件是否使用到了索引及使用情况 where a = 4 使用到了索引a where a = 4 and b = 6; 使用到了索引a,b where a = 4 and c = 5 and b = 6 ; 使用到了a,b,c where b原创 2020-05-11 13:47:30 · 140 阅读 · 1 评论 -
你也真的 不知道的排序与分组优化,你品,你细品?
目录 1.在使用order by时,经常出现Using filesort 1.1索引做为排序时: 1.2使用order by排序时, 如果没有按照索引顺序,会出现Using filesort 1.3当使用*时 order by即使使用了 全部索引,也会也filesort 1.4当索引字段为常量时 可以当作是存在索引的 1.5使用排序一升一降会造成filesort 2.使用group by时,使用不当, 会出现Using temporary 1.在使用order by时,经...原创 2020-05-11 10:30:04 · 169 阅读 · 1 评论 -
你可能真的不知道的索引失效是怎么回事,你品,你细品?
1、前提准备 首先我们创建一个测试的员工表 create table employees ( id int auto_increment primary key, name varchar(20) null, dep_id int null, age int null, salary decimal(10, 2) null, cus_id int n原创 2020-05-10 22:36:39 · 318 阅读 · 1 评论 -
你可能不知道的Mysql(JOIN连接查询、优化分析、索引、性能分析、Explain使用方法)?
1、JOIN连接查询 首先创建两张表(员工表和部门表) DDL语句: create table employees ( id int auto_increment primary key, name varchar(20) null, dep_id int null, age int null, salary decimal(10, 2) null, cus_id原创 2020-05-10 16:03:48 · 1117 阅读 · 1 评论 -
你也许真的不知道的Mysql(逻辑架构、存储引擎、sql的执行顺序)?
1、Mysql逻辑架构 总体分层 连接层 与客户端进行连接的服务,主要完成一些类似连接处理,授权认证 及相关的安全方案,在该层上引入了连接池的概念。 服务层 提供核心的服务功能,如果sql接口,完成缓存的查询,sql的分析和优化部分及内置函数的执行,所有跨存储引擎的功能都在这一层实现,服务器会解析查询并创建相应的内部解析权,并对其完成相应的优化,生成相应的执行操作,服务器还会查询内部的缓存,如果缓存空间足够大,这样可以解决大量读操作的环境中,能够很好的提升系统..原创 2020-05-09 22:37:55 · 198 阅读 · 0 评论