随笔分类 -  数据库与sql

一些比较少遇到的一些sql编写记录和一些数据库知识
摘要:mongodb虽然无事务性,但是它存取快,能有比较好的扩展性。从钱的角度考虑,相同数据量下,存储到mongodb比oracle便宜1/3 因为钱的缘故,目前我所在的公司开始比较重视数据存储成本。mongodb基本上是强制要求了。 无事务性,在高并发时,该如何处理,特别那种先查询后插入数据的业务逻辑。 阅读全文
posted @ 2018-12-14 15:53 钟政123 阅读(2463) 评论(0) 推荐(0) 编辑
摘要:在多表关联查询的时候,数据库会产生内不=部临时表,这些表放在内存中,用于排序、查询等操作。 阅读全文
posted @ 2017-12-18 11:21 钟政123 阅读(123) 评论(0) 推荐(0) 编辑
摘要:存储过程: 优点:一个sql的函数,已经预编译过。调用简单,执行比较快,对权限有比较好控制。 缺点:执行过程没有日志(中间数据表修改结果不算),不方便定位问题。中间操作多表过程锁表,不能利用缓存组件也会造成执行效率低 基本语法: CREATE PROCEDURE 过程名([[IN|OUT|INOUT 阅读全文
posted @ 2017-12-18 11:08 钟政123 阅读(122) 评论(0) 推荐(0) 编辑
摘要:序言 一个服务或者一个程序,由 程序+数据组成。在数据这块,计算机中IO是比CPU要慢得多,为了减少IO,减少CPU运算。我们第一时间会想到索引,但索引为啥会提高效率,因为可以减少IO,在查询的时候不用遍历整张表。 关于mysql 的小知识, 1)在创建表的时候如果在业务中能保证非null的字段,建 阅读全文
posted @ 2016-11-30 16:27 钟政123 阅读(350) 评论(0) 推荐(0) 编辑
摘要:CONCAT()函数 CONCAT()函数代表着字符串的链接,例子有 查询某个字段目前内容的长度函数length() 例子: 修改表中某个字段的属性,长度或者类型(修改类型会引起数据丢失的风险) alter table 表名modify column 字段名 修改后的属性值; 例子: 增加表的字段 阅读全文
posted @ 2016-07-27 17:19 钟政123 阅读(202) 评论(0) 推荐(0) 编辑
摘要:按照应用需要,常常要取得刚刚插入数据库表里的记录的ID值,在MYSQL中可以使用LAST_INSERT_ID()函数,在MSSQL中使用 @@IDENTITY。挺方便的一个函数。但是,这里需要注意的是,当使用INSERT语句插入多条记录的时候,使用LAST_INSERT_ID()返 回的还是第一条的 阅读全文
posted @ 2016-07-13 17:56 钟政123 阅读(2082) 评论(0) 推荐(0) 编辑
摘要:sql中的 a between 'a' and 'b' 基本上是代表 'a'>=a and 'b'<=a 阅读全文
posted @ 2016-03-30 17:20 钟政123 阅读(374) 评论(0) 推荐(0) 编辑
摘要:写了这么多简单的sql,很多东西忘记得差不多了,差点连最基本sql运算符优先级都忘了.平时最常用到and or的优先级都忘了 and的优先级高于or的优先级 举个例子 上面的sql,where子句中执行的先后顺序是:最先是 a=1 and b=2 然后是 c=3 and d=4 最后是两个结果集or 阅读全文
posted @ 2016-03-29 15:13 钟政123 阅读(1521) 评论(0) 推荐(0) 编辑
摘要:将横表转为竖表,基本思想是: 1)将横表的多条数据,"压"成一条.相当于将这么多条分组,每组"压"成一条数据.利用group by 2) 再对竖表中的列,由特定行的数据填充,利用case when 'a' then 'b' else 没有用的值 end,为了过滤一些没有用的数据,常用的函数有max( 阅读全文
posted @ 2016-03-22 17:47 钟政123 阅读(880) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示