随笔分类 -  sql+数据库性能优化

摘要:mysql锁能在并发情况下的mysql进行更好的优化MySQL有三种锁的级别:页级、表级、行级,这3种锁的特性可大致归纳如下: 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。页 阅读全文
posted @ 2016-01-14 12:23 jack_ou 阅读(833) 评论(0) 推荐(0) 编辑
摘要:前几天写了Mysql跨表更新的一篇总结,今天我们看下跨表删除。在Mysql4.0之后,mysql开始支持跨表delete。Mysql可以在一个sql语句中同时删除多表记录,也可以根据多个表之间的关系来删除某一个表中的记录。假定我们有两张表:Product表和ProductPrice表。前者存在Pro... 阅读全文
posted @ 2016-01-12 11:22 jack_ou 阅读(1935) 评论(0) 推荐(0) 编辑
摘要:一、建立表时候,注意PCTFREE参数的作用 PCTFREE:为一个块保留的空间百分比,表示数据块在什么情况下可以被insert,默认是10,表示当数据块的可用空间低于10%后,就不可以被insert了,只能被用于update;即:当使用一个block时,在达到pctfree之前,该block是一直... 阅读全文
posted @ 2015-12-11 18:43 jack_ou 阅读(292) 评论(0) 推荐(0) 编辑
摘要:1.库名、表名、字段名必须使用小写字母,并采用下划线分割。a)MySQL有配置参数lower_case_table_names,不可动态更改,linux系统默认为 0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏感。如果是2,以实际情况存储,但以小写比较。b)如果大小写混合使... 阅读全文
posted @ 2015-11-18 18:52 jack_ou 阅读(984) 评论(0) 推荐(0) 编辑
摘要:最近做项目,需要做一个从mysql数据库中随机取几条数据出来。总所周知,order by rand 会死人的。。因为本人对大数据量方面的只是了解的很少,无解,去找百度老师。。搜索结果千篇一律。特发到这里来,供大家学习。在mysql中带了随机取数据的函数,在mysql中我们会有rand()函数,很多朋... 阅读全文
posted @ 2015-11-16 18:51 jack_ou 阅读(1103) 评论(0) 推荐(0) 编辑
摘要:在使用MySQL的时候,一般尽量避免用关键字作为表名,如使用关键字做表名,需要按标准写法给SQL语句加[](或是“)区分字段名和表名。下面列出MySQL所有关键字,希望给使用MySQL的朋友提供一些参考帮助。ADDALLALTERANALYZEANDASASCASENSITIVEBEFOREBETW... 阅读全文
posted @ 2015-11-16 09:59 jack_ou 阅读(7883) 评论(0) 推荐(2) 编辑
摘要:count(1)与count(*)比较: 如果你的数据表没有主键,那么count(1)比count(*)快 如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快 如果你的表只有一个字段的话那count(*)就是最快的啦... 阅读全文
posted @ 2015-11-13 17:10 jack_ou 阅读(1516) 评论(0) 推荐(0) 编辑
摘要:今天在编程的时候,学习了replace into的用法,真的很好用,是insert into的增强版。在向表中插入数据时,我们经常会遇到这样的情况:1、首先判断数据是否存在;2、如果不存在,则插入;3、如果存在,则更新。在SQL Server中可以这样处理: if not exists (selec... 阅读全文
posted @ 2015-11-06 14:16 jack_ou 阅读(263) 评论(0) 推荐(0) 编辑
摘要:有时需要索引很长的字符列,它会使索引变大而且变慢。一个策略就是模拟哈希索引。但是有时这也不够好,那?通常可以索引开始的几个字符,而不是全部值,以节约空间并得到好的性能。这使索引需要的空间变小,但是也会降低选择性。索引选择性是不重复的索引值 和表中所有行的比值。高选择性的索引有好处,因为它使mysql... 阅读全文
posted @ 2015-11-06 10:47 jack_ou 阅读(856) 评论(0) 推荐(0) 编辑
摘要:1. 表结构完全一样 insert into 表1 select * from 表22. 表结构不一样(这种情况下得指定列名) insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 from 表23、只从另外一个表取部分值insert into 表1 (列... 阅读全文
posted @ 2015-10-29 12:57 jack_ou 阅读(1050) 评论(0) 推荐(0) 编辑
摘要:navicat的windows/linux/mac等在中文线帮助文档地址 阅读全文
posted @ 2015-09-14 18:46 jack_ou 阅读(501) 评论(0) 推荐(0) 编辑
摘要:temp 阅读全文
posted @ 2015-09-14 15:43 jack_ou 阅读(294) 评论(0) 推荐(0) 编辑
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说: a.有大量重复值、且经常有 阅读全文
posted @ 2015-09-14 10:31 jack_ou 阅读(707) 评论(0) 推荐(0) 编辑