DATABASE
文章平均质量分 52
csdn_ask001
这个作者很懒,什么都没留下…
展开
-
Exists 和IN
转:https://www.cnblogs.com/clarke157/p/7912871.html转载 2021-06-04 11:11:23 · 53 阅读 · 0 评论 -
Mysql
PATH=${PATH}:/usr/local/mysql/binmysqld --verbose --helpmysqld_safeis the recommended way to start amysqldserver on Unix.mysql_install_dbhandles initialization tasks that must be performed before the MySQL server,mysqld, is ready to use:You m...原创 2021-02-04 14:41:05 · 48 阅读 · 0 评论 -
数据库读锁和写锁详解
参考好文:https://www.cnblogs.com/itZhy/p/8417763.htmlselect .. for update还会阻塞其他事务对结果集最新版本的读取。业务层面在什么情况下需要阻塞其他事务对结果集最新版本的读取呢?select ... for update本读取模式拥有select ... in share mode的一切功能,同时它还额外具备阻止其他...原创 2020-04-09 15:09:55 · 3156 阅读 · 0 评论 -
为什么数据库limit比较慢
探究为什么 offset 偏大之后 limit 查找会变慢?这需要了解 limit 操作是如何运作的,以下面这句查询为例:select * from table_name limit 10000,10这句 SQL 的执行逻辑是1.从数据表中读取第N条数据添加到数据集中2.重复第一步直到 N = 10000 + 103.根据 offset 抛弃前面 10000 条数4.返回剩...原创 2020-04-08 16:51:32 · 240 阅读 · 0 评论 -
postgres ,Lateral查询
举几个我经常使用的栗子首先说下场景:有个一个商品表goods,还有一个评价表evaluations。商品表和评价表是一对多的。1、在一个后台,我想查询商品的信息,同时查询这个商品的评价的数量。我们可以通过这样来实现SELECT g.*, COUNT(e.*) as numFROM goods as gLEFT JOIN evaluation as e on e...原创 2020-04-02 16:50:40 · 731 阅读 · 0 评论 -
Postgres 递归函数
Postgres递归函数可以实现多层递归。省-市-县。如果想按层次分别显示出来,也可以这么写test=# with RECURSIVE cte as ( select a.id,cast(a.name as varchar(100)) from tb a where id='002' union all select k.id,cast(c.name||'&...原创 2020-04-02 16:20:29 · 777 阅读 · 1 评论 -
Postgres 窗口函数
如果需要在类别(type)内按照价格(price) 升序排列(就是在类别内做排序),该怎么做呢?即在一个type范围内子排序 当然也很简单,只需要在窗口(over())中声明分隔方式Partition. 分类排序序号,row_number()实现> select type,name,price,row_number() over(PARTITIO...原创 2020-04-02 15:41:28 · 107 阅读 · 0 评论 -
Sql 性能优化
转载:sql 子查询性能问题https://www.cnblogs.com/zhengyun_ustc/archive/2013/11/29/slowquery3.html转载 2020-03-04 14:05:38 · 86 阅读 · 0 评论 -
Mysql Explain
一、id1. id相同时,执行顺序由上至下2. 如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行3. id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行二、select_type示查询中每个select子句的类型(1)SIMPLE(简单SELECT,不使用UNION或子查询等)(2)PRI...转载 2020-01-08 11:31:53 · 56 阅读 · 0 评论 -
postgresql
修改序列号 select setval('$seqname ', max(pf_052_id)) from $table;SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = '$dbname' AND pid select *原创 2016-12-02 17:48:03 · 143 阅读 · 0 评论