MySql
文章平均质量分 54
PentaQwQ
记个笔记
展开
-
mysqldump原理
mysqldump常用参数用法mysqldump一致性热备原理剖析原创 2022-06-23 17:25:25 · 739 阅读 · 0 评论 -
驱动表和被驱动表
判断方式没有where条件时左连接查询时前面的表是驱动表,后面的表是被驱动表右连接时相反内连接时哪张表数据少哪张表是驱动表有where条件时带where条件的是驱动表,否则是被驱动表连接查询的算法简单嵌套循环连接算法一旦确定了驱动表和被驱动表,那么查询的过程就是双重循环for (row1 : 驱动表) { for (row2 : 被驱动表){ if (conidtion == true){ send client }原创 2022-05-20 14:16:36 · 2362 阅读 · 0 评论 -
mysql explain信息
显示表结构explain table_name (等效于describe table_name)解释查询explain的每个输出行会包括下面的列idselect标识符,这是select的查询序列号select_typeselect类型,可以为以下任意一种:SIMPLE简单的select,不适用union或子查询PRIMARY最外面的selectUNIONunion中的第二个或后面的select语句DEPENDENT UNIONunion中的的第二个或后面的select原创 2022-05-17 18:56:57 · 108 阅读 · 0 评论 -
sql预编译
先来看下sql的执行流程原创 2022-04-27 18:50:34 · 325 阅读 · 0 评论 -
Select count distinct if
count函数具有三种形式:count(*)count(expression)count(distinct expression)count(*)该COUNT(*)函数返回SELECT语句返回的结果集中的行数。返回行数,COUNT(*)包括重复、非 NULL 和NULL行。count(expression)作为表达式的结果,COUNT(expression)返回不包含NULL值的行数。COUNT(DISTINCT expression)COUNT(DISTINCT expression原创 2022-04-27 17:21:33 · 576 阅读 · 0 评论 -
mysql group by之后每组取前n个数据
mysql 8.0之后可以使用内置的ROW_NUMBER()函数使用方法很简单,详细的用法可以参考https://www.begtut.com/mysql/mysql-row-number-function.htmlmysql 8.0以前没有这样的函数,因此我们需要手动的来实现这个。其实实现的方法也很简单。问题假设我们现在有一张数据量很大的表(千万以上),比如说一张活动表。表里记录了每一种活动每次发奖的明细,现在我们想知道每个活动获得积分最高的10个用户。create table ( `原创 2022-03-25 18:41:12 · 3529 阅读 · 0 评论 -
mysql delete/update select查询的数据
delete from user where id in (select id from user where id < 100)这样写会报错:You can't specify target table 'student' for update in FROM clause如果删除/更新和子查询使用同一张表会报上述错误解决方法:起别名delete from user where id in (select a.id from (select id from user where id &原创 2022-03-14 15:53:12 · 1254 阅读 · 0 评论 -
Mysql 查询json字段(json_extract())
假设我们在user表的extra字段中存储了一条json数据: {"name":"abab","tel":"123456789"} 可以通过select json_extract(extra,'$.name'),json_extract(extra,'$.tel') from user 来获得json中存储的字段。...原创 2021-11-29 14:50:43 · 665 阅读 · 0 评论