基于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
随机推荐
- Redis 事务与过期时间详细介绍
- 深入讲解iOS开发中应用数据的存储方式
- 浅析php过滤html字符串,防止SQL注入的方法
- PHP实现的带超时功能get_headers函数
- c++递归实现n皇后问题代码(八皇后问题)
- java中使用session监听实现同帐号登录限制、登录人数限制
- 探索PowerShell(七) PowerShell变量
- [js高手之路]原型式继承与寄生式继承详解
- jQuery 幻灯片插件(带缩略图功能)
- JQuery 进入页面默认给已赋值的复选框打钩
- Android 中糟糕的AsyncTask
- 深入理解C/C++混合编程
- Android开发实现自定义新闻加载页面功能实例
- PHP数组操作类实例
- React-Native中一些常用组件的用法详解(一)
- 解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题
- JavaWeb项目中classpath路径详解
- angular6.0使用教程之父组件通过url传递id给子组件的方法
- ajax实现上传图片保存到后台并读取的实例
- python pandas 如何替换某列的一个值