随笔分类 - 数据库
摘要:SQL优化目的: 降低响应时间 直接影响用户体验度 降低资源使用率 主要体现在IO和CPU上,网络、内存消耗 优化原则: 1.IN子查询改成JOIN2.NOT IN子查询改成LEFT JOIN3.消除无效子查询4.禁用select *,只读取所需字段5.LIMIT M, N 大分页修改成JOIN形式
阅读全文
摘要:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优
阅读全文
摘要:SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者)。[摘自] SQL injection - Wikipedia SQL注入,大家都不陌生,是一种常见的攻击方式。攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(
阅读全文
摘要:前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎
阅读全文
摘要:下载安装包 官网下载安装包 选择相应的版本和格式,有 .dmg 和压缩包两种。 这里选择简单直接的 .dmg安装包,下载的时候可以将下载地址直接贴到迅雷,速度比较快。 安装 安装很简单,直接双击下好的.dmg文件,一路next就可以了。 启动 MySQL OK!安装够简单,接下来就是启动MySQL,
阅读全文
摘要:死锁问题背景 死锁问题背景 做MySQL代码的深入分析也有些年头了,再加上自己10年左右的数据库内核研发经验,自认为对于MySQL/InnoDB的加锁实现了如指掌,正因如此,前段时间,还专门写了一篇洋洋洒洒的文章,专门分析MySQL的加锁实现细节:《MySQL加锁处理分析》。 但是,昨天”润洁”同学
阅读全文
摘要:1.select_type: /* select_type 使用 SIMPLE */explain select * from tb_shop_order where id='20160329257032899';/* select_type 使用 PRIMARY --最外面的select sele
阅读全文
摘要:1.下载curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.7.tgztar -zxvf mongodb-osx-x86_64-3.0.7.tgz2.创建数据库文件夹与日志文件mkdir -p /usr/local/mongod...
阅读全文
摘要:转载 http://chenzhou123520.iteye.com/blog/1863407上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时...
阅读全文
摘要:一、先阐述下单列索引和组合索引的概念:单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引:即一个索包含多个列。如果我们的查询where条件只有一个,我们完全可以用单列索引,这样的查询速度较快,索引也比较瘦身。如果我们的业务场景是需要经常查询多个组合列,不要试图分别...
阅读全文
摘要:explain 可以分析 select 语句的执行,即 MySQL 的“执行计划。一、type 列MySQL 在表里找到所需行的方式。包括(由左至右,由最差到最好):| All | index | range | ref | eq_ref | const,system | null |ALL(所有)...
阅读全文
摘要:MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系...
阅读全文
摘要:转载 :http://www.searchtb.com/2010/09/mysql%E8%A1%8C%E9%94%81%E6%B7%B1%E5%85%A5%E7%A0%94%E7%A9%B6-2.html做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假...
阅读全文
摘要:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优...
阅读全文
摘要:进入mysql(mysql -u root -p),查看当前数据库字符集(status;)刚开始是latin1,所以乱码。vim /etc/my.cnf两个节点添加如下:[client]default-character-set=utf8[mysqld]default-storage-engine=...
阅读全文
摘要:--查询用户SELECT User, Password, Host FROM user;--创建一个用户,任意主机可以登录%,密码是123456CREATE USER 'palm'@'%' IDENTIFIED BY '123456';-- 给用户赋予所有权限GRANT ALL ON *.* TO ...
阅读全文
摘要:对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作:数 据库设计、sql语句优化、数据库参数配置、恰当的硬件资源和操作系统,这个顺序也表现了这四个工作对性能影响的大小。下面我们逐个阐明: 一...
阅读全文
摘要:MyISAM存储引擎原文作者:http://www.cnblogs.com/villion/archive/2009/07/09/1893762.html MyISAM是 默认存储引擎。它基于更老的ISAM代码,但有很多有用的扩展。MyISAM存储引擎的一些特征: · 所有数据值先存...
阅读全文
摘要:基本sql总结:Group by的理解:having子句,分组函数Group by使用的限定:1.出现在Select列表中的字段或者出现在order by后面的字段,如果不是包含在分组函数中,那么该字段必须同时在Group by子句中出现。2.包含在Group by子句中的字段则不必须出现在在Sel...
阅读全文
摘要:1. COALESCE 返回该表达式列表的第一个非空value。 格式: COALESCE(value1, value2, value3, ...) 含义: 返回value列表第一个非空的值。 value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。 EXAMPLE: select coalesce (1, null, 2 ) from dual ; -- 返回1 select coalesce ( null, 2, 1 ) from dual ; -- 返回2 select coalesce (t.empno, t.mgr ) from scott.emp t ; -- 效
阅读全文

浙公网安备 33010602011771号