mysql数据库MyISAM InnoDB 8大区别详解 发布时间: 2021-07-22 19:31:02 评论数: 0
在平时的开发中经常用到的mysql数据类型是InnoDB和MyISAM,今天来总结一下这两种数据类型的8大区别 1、文件存储的区别 MyISAM的一个表会存成3个文件 .frm 与表相关的元数据信息都存放在frm文件,包括表结构的定义信息等 .MYD(MYData)myisam存储引擎专用,用于存储myisam表的数据 .MYI(MYIndex)myisam存储引擎专用,用于存储myisam表的索引相关信息 InnoDB物理文件结构 .frm文件包括表结构的定义信息等 .ibd文件独享表空间存储方式 .ibdata文件共享表空间存储方式 .ibd文件和.ibdata通过配置来决定是 ......
Mysql5.5数据库的MyISAM和InnoDB引擎配置优化 发布时间: 2021-07-20 01:23:55 评论数: 0
服务器型号:IBM S226 CPU:至强四核 内存:4G 硬盘:两个80G做RAID1 系统:windows server 2003 SP1 32位企业版 MySQL版本:5.5 根据自己服务器的实际情况,优化过和参数如下: 一、公共选项skip-external-locking //避免MySQL的外部锁定,减少出错几率增强稳定性。skip-name-resolve //禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程亿恩科技主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请 ......
mysql explain执行计划详解 发布时间: 2021-07-17 11:14:25 评论数: 0
最近在看《高性能可扩展MySQL数据库设计及架构优化 电商项目》的视频收获还是很大的,其中一点就是explain执行计划了解跟透彻了,下面来做下笔记 explain执行计划每一行代表了一个数据库对象的操作 id列 id列中的数据为一组数字,表示执行select语句的顺序,id值相同时,执行顺序由上至下,id值越大优先级越高,越先被执行。也就是id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行 select_type列 SIMPLE:是一个简单查询,不包含子查询或是union操作的查询 PRIMARY:查询中如果包含任何子查询,那么最外层的查询则被标记为PRIMAY SU ......
MySQL随机查询的效率问题解决方案Order By Rand() 发布时间: 2021-07-15 00:26:51 评论数: 0
第一种方案,即原始的Order By Rand()方法:SELECT * FROM user ORDER BY rand() LIMIT 10不推荐,数据量越大越慢第二种方案,JOIN方法,一次一个,循环10次:SELECT * FROM `user` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `user `)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id ASC LIMIT 1性能会成倍提升,但多次select查询,IO开销大第三种方案,SQL语 ......
php-mysql异步查询 发布时间: 2021-07-11 22:24:45 评论数: 0
今天发现一个好东西,mysql可以异步执行,php+mysql网站的程序性,在博客里我多次提到,mysql是主要的性能瓶颈。因为,一般情况下mysql查询是同步执行的,也就是说mysql语句是依次执行的,举个例子,如果有2条sql语句,执行完第一条sql才会执行第二条sql,如果每条sql执行时间为50ms,那么执行2条sql就要100ms,如果并行执行,那么也许只有50ms或者60ms。这样大大的提高了mysql的执行效率。 要实现异步查询的关键是能把发送请求和接受返回数据分开 可以用Swoole来实现,具体的使用方法请查官方手册,在网站上我也找了一下mysql异步的实例,但是都 ......
mysql查看表结构命令 发布时间: 2021-07-10 14:54:01 评论数: 0
惰性发作2天没有更新文章,今天来讲学习一下mysql用命令查表结构,小松在开发的时候习惯用phpMyAdmin来查mysql,我的同事也有用Navicat for MySQL这是一个客户端。平时喜欢了图形化界面的操作,对于用sql语句你掌握了多少,对了今天是6月1日,儿童节快乐,开始讲mysql用命令查表结构 第一个命令 desc [tb_name] 只能查出表的 Field | Type | Null | Key | Default | Extra 这些信息,请开截图 desc demo; 更多的信息,比如字段的备注(comment)用做另一个命令 show full field ......
centos下mysql集群初尝试 发布时间: 2021-07-08 07:12:20 评论数: 0
五台服务器篇安装要求安装环境:CentOS-6.3 安装方式:源码编译安装 软件名称:MySQL-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz 下载地址:http://mysql.mirror.kangaroot.net/Downloads/ 软件安装位置:/usr/local/mysql 数据存放位置:/var/mysql/data 日志存放位置:/var/mysql/logs集群设计首先设计集群的安装分配方式,我共需要5台服务器,服务器分配如下: 管理节点:    192.168.15.231 sql节点1:   192.168.15 ......
mysql存储引擎myisam 发布时间: 2021-07-05 20:17:23 评论数: 0
mysql5.5之前版本默认存储引擎,由于这个原因现在还是有大量的服务器来属于这种存储引擎,myisam也是大多数系统表和临时表使用的存储引擎,这里的临时表指的是在排序分组等操作中,当数量超过一定的大小之后,由查询优化器建立的临时表 myisam存储引擎表由MYD和MYI组成,MYD存储的数据文件MYI存储的是索引文件,如果你查表的文件你会发现多出来一个frm格式的文件,这个文件是记录表的结构的,这个文件不管是哪个存储引擎都会有这个文件,这个文本不是存储引擎生成的,是由mysql生成的 myisam特性 1)并发性与锁级别 myisam使用的是表级锁,这就意味着在对表中的数据进行修改 ......
mysql sleep查看和解决方法 发布时间: 2021-07-03 01:01:09 评论数: 0
今天在家里接到领导电话说网站服务器MySQL sleep过多说已经临时性处理过了,让我上班的时候看看程序中有没有问题 星期一上班了领导来截图给我看图 我查了一下正常,然后问他怎么查的,他打了一个top 命令让我看sleep ,我直接吐血 下面我讲一下mysql sleep怎么查看 show full processlist; 下面讲一下怎么解决这个sleep的问题 首先应该检查一下mysql是不是用了持久链接,如果用持久链接的最好修改掉,即mysql_connect() 函数打开非持久的 MySQL 连接,mysql_pconnect() 函数打开一个到 MySQL 服务器的持久 ......
使用shell编程检测监控mysql的CPU占用率 发布时间: 2021-06-30 22:32:07 评论数: 0
 网站访问量大的时候mysql的压力就比较大,当mysql的CPU利用率超过300%的时候就不能提供服务了,近乎卡死状态,这时候最好的方法 就是重启mysql服务。由于这种事具有不可预见性,我们不知道什么时候mysql的占用率达到300%,还是写个程序定期判断比较靠谱。        学了shell编程,写了下面的脚本:#!/bin/bash cpu=`ps aux | grep 'mysqld$' | cut -d " " -f6 | cut -d. -f1` if [ $cpu -gt 300 ] then service mysql restart &am ......
MySQL官方文档中NULL和空值的区别 发布时间: 2021-06-28 22:31:39 评论数: 0
面试的时候遇到一个面试官问我NULL占不占空间,我说的是占,当时面试官说不占,今天突然想起这个问题,我决定百度一下 百度的结果 1:空值(”)是不占用空间的 2: MySQL中的NULL其实是占用空间的。 感觉百度不靠谱于是查了官方文档的说明: For MyISAM tables, NULL columns require additional space in the row to record whether their values are NULL. Each NULL column takes one bit extra, rounded up to the nearest ......
mysqldump 备份与恢复数据库 发布时间: 2021-06-27 07:12:55 评论数: 0
先备份数据库 使用  mysqldump -u root -plvtao 数据库 > /home/bak.sql 再把备份的数据库还原就可以了 导入数据库 常用source 命令进入mysql数据库控制台,如mysql -u root -pmysql>use 数据库名然后使用source命令,后面参数为脚本文件(如这里用到的.sql)mysql>source /home/bak.sql常见选项: --all-databases, -A: 备份所有数据库 --databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为 ......
对mysql使用索引的误解 发布时间: 2021-06-25 18:31:30 评论数: 0
之前我一直以为mysql一个查询中只能使用一个索引,网上的资料有这个说的,而且我也以为是这样的,结果今天发现错了 主要是在验证只使用一个索引的时候发现,key中显示了两个索引字段,type中显示index_merge 如图 如果按照之前的理解只使用个索引,那就有问题了,那为什么有人会说只使用一个索引 答案在这里版本问题 MySQL5.0之前,一个表一次只能使用一个索引,无法同时使用多个索引分别进行条件扫描,但是从5.1开始,引入了 index merge 优化技术,对同一个表可以使用多个索引分别进行条件扫描 不能在相信百度里的资料了,查官方文档 官方文档:  http://dev. ......
MySQL使用explain分析sql效率 发布时间: 2021-06-24 08:00:27 评论数: 0
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:EXPLAIN tableName或EXPLAIN [EXTENDED] SQL前者可以得出一个表的字段结构等等后者主要是给出相关的一些索引信息各个属性介绍1、id:这是SELECT的查询序列号2、select_type:select_type就是select的类型,可以有以下几种:SIMPLE:简单SELECT(不使用UNION或子查询等)PRIMARY ......
mysql之limit优化 发布时间: 2021-06-21 11:49:40 评论数: 0
今天看到一篇文章讲的就是mysql数据有100万的时候,分页的时候,查询非常慢,针对这个问题讲优化方案 实验准备 这里我准备了1000万数据的一张表,进行测试 默认分页情况下 select id,username,age,word from demo limit 101,10; select id,username,age,word from demo limit 100001,10; 对比上面的查询可以看到,limit的数据越往后查询花费的时间就越长 上面的对比不明显,那么我们下面查询的大点的数据 select id,username,age,word from demo li ......
PDO属性设置 发布时间: 2021-06-18 21:54:25 评论数: 0
设置数据库句柄属性。下面列出了一些可用的通用属性;有些驱动可能使用另外的特定属性。PDO::ATTR_CASE:强制列名为指定的大小写。PDO::CASE_LOWER:强制列名小写。PDO::CASE_NATURAL:保留数据库驱动返回的列名。PDO::CASE_UPPER:强制列名大写。PDO::ATTR_ERRMODE:错误报告。PDO::ERRMODE_SILENT: 仅设置错误代码。PDO::ERRMODE_WARNING: 引发 E_WARNING 错误PDO::ERRMODE_EXCEPTION: 抛出 exceptions 异常。PDO::ATTR_ORACLE_ ......
重新认识Redis 发布时间: 2021-06-15 20:14:54 评论数: 0
之前的项目中有用到过redis,以为跟memcache差不多,也没有仔细去看redis的相关知识,今天无意中看到一篇文章,让我重新认识了redis ①Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储 ②在Redis中,并不是所有的数据都一直存储在内存中的,这个之前还真没有注意,也是跟memcache最大的区别。redis在使用的时候,如果存储的数据超过某一个阀值,就会把数据写入到硬盘里,Redis根据“swappability = age*log(size_in_memory)”计算出哪些key对应的value需要写到硬盘里,同时清除 ......
MySQL 5.6 my.cnf 参数记录 发布时间: 2021-06-12 17:10:08 评论数: 0
提供一个MySQL 5.6版本适合在1GB内存VPS上的my.cnf配置文件my.txt昨天我在自己用的时候,按下面这些参数配置,发现居然启动不成功!检查了半天,原因居然是Percona Server版本的my.cnf中有些名称好像与下面的不一样!比如 table_open_cache 它的是 table-open-cache !!祝你好运!所以不要相信老法师!!另外推荐:https://tools.percona.com/wizard 这个在线配置工具,就当参考值参考了!第一个[client] port = 3306 socket = /tmp/mysql.sock [my ......
测试Atlas是否可用 发布时间: 2021-06-11 01:27:15 评论数: 0
上一篇文章已经安装好了Atlas,这篇文章来测试一下是否成功 Atlas机子:192.168.171.132 64位 mysql Master:192.168.171.22 mysql Slave:192.168.171.23 mysql Master 设置运行远程访问mysql grant all on . to 'root'@'192.168.171.132' identified by '123456' ; flush privileges; mysql Slave grant all on . to 'root'@'192.168.171.132' identified b ......
为什么在有的服务器上禅道、蝉知、然之安装会报错? 之理解MySQL的SQL_MODE 发布时间: 2021-06-08 10:21:57 评论数: 0
最近用蝉知的CMS建站比较多,感觉蛮顺手的,但在给客户安装的时候却会出现安装报错,其原因也很简单查看了一下他们的install.sql文件中,有些时间字段的默认值是0000-00-00 00:00:00 ... 额,我个人习惯将时间值存int类型,这样程序处理上还有查询计算上会方便一些,可能他们为了在看数据库的时候方便一目了然的认出时间吧...不管它的初衷,要改程序不太可能了,以后也不好升级.我还是改我的数据库的兼容模式吧在MySQL5.5以后,其默认使用的是一种严格模式,也就是说,像禅知用的这种默认值的方式就会报错.SO,我们今天来说一说这个SQL_MODEL的相关的东东SQ ......


友情链接: php5000技术知识分享 github 码云 开源中国 csdn linux中国 阿里云 unix技术网 composer中文网 php packagist php python 安卓软件 大众源码 DevStore 猪八戒威客网 人人都是产品经理 PHPwind论坛 互联网的一些事 新客网 黑马程序员 火星时代 hao123it ThinkSNS 开源社区 51CTO学院 办事儿网 IT论坛 java教程 最代码 程序员客栈 大数据培训 小程序开发 微信小程序 php开发新闻 微信小程序 java学习 微信小程序 Linux书籍 网站ip流量 xw素材网 新浪云 腾讯云 华为云 百度 新浪 网易 淘宝 腾讯 1688 搜狐 优酷 房天下 hao123 携程 天涯社区