sql
Kevins Danish
玩转原生代码
展开
-
SQL语句中exists和in的区别?
查询中涉及到的两个表,一个user和一个order表,具体表的内容如下: 书单(books)表: 借书表borrow IN一、确定给定的值是否与子查询或列表中的值相匹配。in在查询的时候,首先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选。所以相对内表比较小的时候,in的速度较快。SELECT *FROM `books`WHERE ...原创 2018-06-23 15:09:07 · 443 阅读 · 0 评论 -
InnoDB中事务隔离级别和锁的关系 思路?个人理解?
1 数据库遵循两段锁协议,加锁阶段和解锁阶段,在对任何数据进行读操作之前要申请并获得S锁,在写操作之前要申请并获得X锁 2 事务中的加锁方式,事务的四种隔离级别,未提交读,已提交读(RC),可重复读(RR),可串行化,各种隔离级别对应的脏读,不可重复读和幻读 3 锁的种类:行锁 表锁 重点讲行锁,由于行锁只锁住有限的数据,对于其它数据不加限...原创 2018-07-26 11:38:37 · 358 阅读 · 0 评论 -
用UUID做主键和用19位的bigint做主键,插入性能那个更ok?
解惑: 在公司的机器上跑了30万的数据,建了一个test_sg_student(主键为UUID)和 test_bigintAsString_t (主键为19位的bigint),分别用10个线程和批处理进行插入,发现性能相差接近100倍,很明显是UUID做主键的表插入时间是最慢的,根据底层索引B+树来思考,其实答案也油然生成,UUID的无序和空间占的大小导致插入时候要耗费更多的时间去创建和维护索引...原创 2018-08-03 22:09:23 · 9316 阅读 · 0 评论 -
mysql正则匹配单个字符-神坑!
—在这里插入图片描述问个问题 mysql 我想匹配的字段 只存在一个“/” sql 怎么写?select * from table where path regexp ‘/{1}’ ?可适用如下select * from user where name regexp '^[^/]+(/{1})[^/]+$';...原创 2019-09-17 16:47:03 · 2424 阅读 · 0 评论