基于MYSQL中优化的一些方法
mysql的存储引擎myisam和innodb以及memory
memory以后会介绍到
innodb支持事物,外键以及行锁,mysql不支持
innodb不支持fulltext索引的类型
innodb不保存具体行数
innodb的auto_increment不支持联合索引
innodb删除表的时候是一行行删除
--------------------------------------------------------------------------------
大型网站对于数据库的操作优化
1.读写分离,采用主/辅的方式,来分散数据的压力,提高查询速度
2.按照业务特点横向或者纵向分割数据库。简单的来向就是大库变小库,大表变小表,来提高数据库的访问效率。一般来讲,一个数据库具有很多表或一张表有N多的记录,都会明显降低数据库的服务能力,比如mysql数据表记录达到2000W条左右,性能会降到几乎无法忍受。
数据库出现的下一瓶颈
1.事物操作:事物中设计的数据表在运行的过程中将会加锁。在这种情况下,访问这些表的数据会出现延迟
2.数据更新:数据库任何的表在数据更新的过程中,同样会被加锁,则同样会出现延迟
memcache就不会出现以上的情况。
相关推荐
-
基于MYSQL中优化的一些方法
mysql的存储引擎myisam和innodb以及memorymemory以后会介绍到innodb支持事物,外键以及行锁,mysql不支持innodb不支持fulltext索引的类型innodb不保存具体行数innodb的auto_increment不支持联合索引innodb删除表的时候是一行行删除--------------------------------------------------------------------------------大型网站对于数据库的操作优化1.读写分离
-
MySQL中where 1=1方法的使用及改进
目录 背景 where 1=1的作用 where 1<>1 where 1=1的性能问题 where 1=1的改进 小结 背景 刚入行的同学,看到在SQL语句中出现where 1 = 1这样的条件可能会有所困惑,而长时间这样使用的朋友可能又习以为常.那么,你是否还记得当初为什么要这样写?是否有性能问题?有没有更好的写法? 今天这篇文章,带大家从头到尾梳理一下where 1 = 1的使用及改进,或许你能从中得到更多意想不到的收获. where 1=1的作用 如果要问在SQL语句的where条件中
-
往MySQL中存储图片的方法
1 介绍 在设计到数据库的开发中,难免要将图片或音频文件插入到数据库中的情况.一般来说,我们可以同过插入图片文件相应的存储位置,而不是文件本身,来避免直接向数据库里插入的麻烦.但有些时候,向MySQL中插入图片更加容易管理.那么在MySQL中该怎么存储呢? 参考资料[1]中有个相当清晰的例子,不过是基于MySQL图形界面的查询工具Query Brower的,你的机子上没有安装的话,可能得不到很好的理解.我在这里不在赘述,更详细的资料请看给出的链接吧. 还有,[1]中的例子其实只是向我们说明了Qu
-
Android通过json向MySQL中读写数据的方法详解【读取篇】
本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private void parseJsonMulti(String strResult) { try { Log.v("strResult11","strResult11="+strResult); int index=strResult.indexOf("[");
-
基于dubbo中Listener的实现方法
这里继续dubbo的源码旅程,在过程中学习它的设计和技巧,看优秀的代码,我想对我们日程编码必然有帮助的.而那些开源的代码正是千锤百炼的东西,希望和各位共勉. 拿ProtocolListenerWrapper为例子,看源码的时候发现它是一个装饰类的标准实现有一个自身的复制构造函数,把被包装者复制进来,然后结合装饰部分的操作.看下ProtocolListenerWrapper类有这样的代码: public class ProtocolListenerWrapper implements Protoc
-
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
本文实例讲述了PHP操作MySQL中BLOB字段的方法.分享给大家供大家参考,具体如下: 1.MySQL中BLOB字段类型 BLOB类型的字段用于存储二进制数据. MySQL中,BLOB是个类型系列,包括:TinyBlob.Blob.MediumBlob.LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同. MySQL的四种BLOB类型 TinyBlob: 最大 255字节 Blob: 最大 65K MediumBlob:最大 16M LongBlob: 最大
-
Mysql中varchar长度设置方法
如果某一项中设置的是varchar(50) 那么对英文当然是50 那么对中文呢 utf-8的中文占3个字节 那么,这个varchar(50)是不是只能存16个汉字了? mysql varchar(50) 不管中文 还是英文 都是存50个的 MySQL5的文档,其中对varchar字段类型这样描述:varchar(m) 变长字符串.M 表示最大列长度.M的范围是0到65,535.(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节). 为何会这般变换?真
-
Android通过json向MySQL中读写数据的方法详解【写入篇】
本文实例讲述了Android通过json向MySQL中写入数据的方法.分享给大家供大家参考,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Java类,将json上传数据的方法封装好,可以直接在主程序中调用该类,代码如下 public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String j
-
PHP列出MySQL中所有数据库的方法
本文实例讲述了PHP列出MySQL中所有数据库的方法.分享给大家供大家参考.具体如下: PHP代码如下: <?php define( 'NL', "\n" ); define( 'TB', ' ' ); // connecting to MySQL. $conn = @mysql_connect( 'localhost', 'username', 'password' ) or die( mysql_errno().': '.mysql_error().NL ); // atte
-
mysql中GROUP_CONCAT的使用方法实例分析
本文实例讲述了mysql中GROUP_CONCAT的使用方法.分享给大家供大家参考,具体如下: 现在有三个表,结构如下: cate表: CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `name` char(20) DEFAULT '' COMMENT '分类名', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAUL
随机推荐
- PowerShell中定义哈希散列(Hash)和调用例子
- Javascript 复制数组实现代码
- JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
- VBS教程:方法-GetFile 方法
- java数据结构之java实现栈
- springmvc与mybatis集成配置实例详解
- i++循环与i-–循环的执行效率(递增与递减效率)
- Python 获取当前所在目录的方法详解
- Python按行读取文件的实现方法【小文件和大文件读取】
- C语言数据结构中数制转换实例代码
- c#操作iis根目录的方法
- Android中设置只有程序第一次运行才显示的界面实现思路
- 模仿J2EE的session机制的App后端会话信息管理实例
- Python使用装饰器进行django开发实例代码
- Vue前端开发规范整理(推荐)
- Linux中使用top命令的技巧
- Vue的watch和computed方法的使用及区别介绍
- php如何利用pecl安装mongodb扩展详解
- axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
- Android实现渐变启动页和带有指示器的引导页