随笔分类 -  mysql

摘要:如果查询在from子句中包含子查询,MySQL会执行子查询,将结果放在一个临时表中,然后完成外层查询的优化,它必须在外层查询优化前处理;所有类似的子查询,explain也必须这样做,意味着如果子查询开销较大,或使用临时表,服务器开销会比较大。这时候可以使用join连接查询代替子查询。 explain 阅读全文
posted @ 2020-05-10 10:44 ppjj 阅读(294) 评论(0) 推荐(0)
摘要:show profiles查看所有查询执行时间,通过show profile for query ID查看具体某个查询执行时间,一般耗费在sending data上面。timestamp只使用datetime一般的存储。可以用bigint代替decimal,这样避免浮点存储计算不精确和decimal 阅读全文
posted @ 2020-05-10 10:43 ppjj 阅读(243) 评论(0) 推荐(0)
摘要:方法一:like SELECT * FROM 表名 WHERE 字段名 like "%字符%";方法二:find_in_set() 利用mysql 字符串函数 find_in_set(); SELECT * FROM users WHERE find_in_set('字符', 字段名);mysql有 阅读全文
posted @ 2020-01-09 22:03 ppjj 阅读(4511) 评论(0) 推荐(0)
摘要:登录mysql,在test数据库中建立一个表: 在表shoufei增加数据: 在表中,查询xiangmu字段,在查询结果组成一个字符串: 在字符串有重复的值,把重复的值过滤 在查询项目组成的字符串时,定义间隔符号 把字符串的字段的值升序排序(asc ,desc): 注意: group_concat字 阅读全文
posted @ 2020-01-09 22:00 ppjj 阅读(1813) 评论(0) 推荐(0)
摘要:一、group by 当我们执行 group by 操作在没有合适的索引可用的时候,通常先扫描整个表提取数据并创建一个临时表,然后按照 group by 指定的列进行排序。在这个临时表里面,对于每一个 group 的数据行来说是连续在一起的。完成排序之后,就可以发现所有的 groups,并可以执行聚 阅读全文
posted @ 2020-01-05 21:17 ppjj 阅读(7775) 评论(0) 推荐(2)
摘要:判断字段是否存在: 判断索引是否存在: 阅读全文
posted @ 2019-06-16 11:58 ppjj 阅读(5585) 评论(0) 推荐(1)
摘要:drop procedure count_points; create procedure count_points() begin declare n_Latitude double; declare n_Longitude double; declare isExist int; declare countExist int default 0; de... 阅读全文
posted @ 2019-06-16 11:48 ppjj 阅读(211) 评论(0) 推荐(0)
摘要:1、备份表结构 create table table_bak like table_name; 2、备份表数据 insert into table_bak select * from table_name; 3、删除原来主键字段(如id) alter table table_name drop id 阅读全文
posted @ 2019-04-19 22:03 ppjj 阅读(1767) 评论(0) 推荐(0)
摘要:前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。 阅读全文
posted @ 2018-12-12 15:53 ppjj 阅读(255) 评论(0) 推荐(0)
摘要:INSERT(t.TABLE1,4,6,'*') REPLACE ( PHONE, SUBSTR(PHONE, 4, 6), 'XXXX' )-- 隐藏从第四位开始的6个字符,包括第四个字符,替换成X 阅读全文
posted @ 2018-01-07 14:07 ppjj 阅读(679) 评论(0) 推荐(0)
摘要:SELECT t.id,t.f_store_mobile,t.f_store_name,t.f_guardian FROM table1 t WHERE EXISTS (SELECT a.id FROM table1 AS a WHERE a.aa='') LIMIT 1000; 阅读全文
posted @ 2018-01-05 13:38 ppjj 阅读(180) 评论(0) 推荐(0)
摘要:UPDATE tab_game_version as a INNER JOIN tab_game_version as b ON a.id=b.idSET a.advert_data=0 where a.advert_data is NULL UPDATE table1 AS a LEFT JOIN 阅读全文
posted @ 2018-01-03 15:57 ppjj 阅读(5483) 评论(0) 推荐(0)
摘要:说明:aa保存失败,或者bb保存失败,则全部回滚,只有两个全部成功,才成功 阅读全文
posted @ 2017-12-28 19:58 ppjj 阅读(1526) 评论(0) 推荐(0)
摘要:注意:必须使用同一个Connection,否则会获取不到想要的结果 阅读全文
posted @ 2017-12-28 19:49 ppjj 阅读(2087) 评论(0) 推荐(0)
摘要:在使用left join时,on and和on where条件的区别如下: 1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条 阅读全文
posted @ 2017-12-28 14:35 ppjj 阅读(312) 评论(0) 推荐(0)
摘要:begin declare i int;set i = 1;lp1 : LOOPSELECT insert(t.bb,4,6,'XXXX') FROM t_aa t; set i = i+1; if i > 30000 thenleave lp1; end if;end LOOP;end 阅读全文
posted @ 2017-12-28 11:15 ppjj 阅读(13262) 评论(0) 推荐(0)
摘要:sql.append(" AND t.f_user_name LIKE CONCAT('%',?,'%')");//模糊查询 sql.append(" AND t.f_user_id = ?");//等值查询 阅读全文
posted @ 2017-11-15 22:22 ppjj 阅读(9680) 评论(0) 推荐(0)
摘要:在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。 悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。 乐观锁:假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。乐观锁不能解决脏读的问题。 悲观锁介绍(百科): 悲观锁,正如其名,它 阅读全文
posted @ 2017-10-23 16:56 ppjj 阅读(450) 评论(0) 推荐(0)
摘要:MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不 阅读全文
posted @ 2017-06-06 17:30 ppjj 阅读(233) 评论(0) 推荐(0)
摘要:1.分区和分表的测重点不同,分表重点是存取数据时,如何提高mysql并发能力上;而分区呢,如何突破磁盘的读写能力,从而达到提高mysql性能的目的。 2.访问量不大,但是表数据很多的表,我们可以采取分区的方式.(分区表并发能力有限) 3.mysql的分表是真正的分表,一张表分成很多表后,每一个小表都 阅读全文
posted @ 2017-04-26 19:29 ppjj 阅读(449) 评论(0) 推荐(0)