百万级数据mysql测试环境介绍

mysql 作为一款非常优秀的免费数据库被广泛的使用,平时我们开发的项目数据过百万的时候不多。最近花了大量的时间来深入的研究mysql百万级数据情况下的优化。 遇到了很多问题并解决了他们,特此分享给大家。欢迎提出您的宝贵意见!

相关推荐:《MySQL教程》

测试环境

数据总数 300万条 占用磁盘空间 1G 左右

数据结构

表1 news [ 文章表 引擎 myisam 字符集 utf-8 ]-----------------------------------------------------idint11主键自动增加cateint11索引titlevarchar200标题(便于基础搜索做了索引)contenttext文章正文dateint11文章发布时间(时间戳形式)
表2 cate [ 文章分类表 引擎 myisam 字符集 utf-8 ]-----------------------------------------------------cate_idint11主键自动增加cate_namevarchar200文章标题

查询总数

myIsam 引擎下select count(*) as total from news//耗时 0.001秒 极快 //带上条件select count(*) as total from news where cate = 1耗时 0.046秒 可以接受的速度innodb 引擎下select count(*) as total from news//耗时 0.7秒 很慢select count(*) as total from news where cate = 1耗时 0.7秒 很慢

为什么2种引擎查询速度相差这么大?

企业建站系统CMS 企业建站系统CMS

基于PHP+Mysql架构的,可运行在Linux、Windows等各种服务器平台上,常规环境下,能支 持百万 级数据。DIY各栏目内容,所有内容展示自由选择。

企业建站系统CMS 390 查看详情 企业建站系统CMS

InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行。

MyISAM只要简单的读出保存好的行数即可。

注意的是,当count(*)语句包含 where条件时,两种表的操作有些不同,InnoDB类型的表用count(*)或者count(主键),加上where col 条件。其中col列是表的主键之外的其他具有唯一约束索引的列。这样查询时速度会很快。就是可以避免全表扫描。

总结

mysql 在300万条数据(myisam引擎)情况下使用 count(*) 进行数据总数查询包含条件(正确设置索引)运行时间正常。对于经常进行读取的数据我们建议使用myIsam引擎。

以上就是百万级数据mysql测试环境介绍的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1079612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
不战不成王‌《兵王ol》多元PVP玩法彰显勇士之路
上一篇 2025年12月2日 17:50:51
在Go AppEngine后端验证Google ID令牌:集成与实践
下一篇 2025年12月2日 17:50:59

相关推荐

  • windows10怎么重启电脑

    重启Windows 10可通过开始菜单、快捷键、命令行、任务管理器或强制关机实现;2. 重启后文件丢失可尝试恢复临时文件或启用文件历史记录;3. 自动重启可能由硬件、驱动或病毒引起,需逐一排查;4. 可通过任务计划程序设置定时自动重启,避免系统异常。 重启Windows 10电脑,方法其实挺多,最直…

    2026年9月2日
    100
  • mysql锁表的原因是什么

    在mysql中,锁表的原因是一个程序执行了对表的insert、update或者delete操作还未commite时,另一个程序也对同一个表进行相同的操作,则此时会发生资源正忙的异常,也就是锁表。 本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。 mysql锁表…

    2026年9月2日
    000
  • 在创建实例时怎么使用自定义脚本来配置自己的 yum 源、NTP 服务和 DNS 服务

    本篇文章给大家带来的内容是关于在创建实例时怎么使用自定义脚本来配置自己的 yum 源、ntp 服务和 dns 服务,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 自定义 yum 源、NTP 服务和 DNS 服务 实例自定义脚本是阿里云 ECS 为用户提供的一种自定义实例启动行为的脚…

    2026年9月2日
    000
  • mysql不能输入中文怎么解决

    mysql不能输入中文怎么解决mysql不能输入中文怎么解决mysql不能输入中文怎么解决mysql不能输入中文怎么解决

    在mysql中,可以修改“my.ini”文件内容来解决不能输入中文的问题,在mysql目录中打开“my.ini”文件,更改“default-character-set”项的内容,将该项的内容更改为“utf8”即可。 本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电…

    2026年9月2日 用户投稿
    000
  • win10怎么修改文件资源管理器默认打开位置_win10文件资源管理器启动位置修改教程

    可通过三种方法修改Windows 10文件资源管理器默认打开位置:一、在“文件夹选项”中将默认位置设为“此电脑”或“快速访问”;二、通过注册表编辑器新建LaunchFolderFromStart和StartFolder值,指定自定义路径如D:工作文档;三、修改任务栏快捷方式目标为explorer.e…

    2026年9月2日
    200
  • 如何使用实例自定义脚本自定义实例的管理员账号

    本篇文章给大家带来的内容是关于如何使用实例自定义脚本自定义实例的管理员账号,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 自定义实例的管理员账号 实例自定义脚本是阿里云 ECS 为用户提供的一种自定义实例启动行为的脚本,详细信息请参考阿里云线上帮助文档:实例自定义数据。 本文档以 …

    2026年9月2日
    000
  • mysql怎样设置表名不区分大小写

    方法:1、利用root登录,并打开“/etc/my.cnf”文件;2、在文件中“mysqld”节点下加入“lower_case_table_names=1”;3、用“service mysqld restart”命令重启mysql服务即可。 本教程操作环境:linux7.3系统、mysql8.0.2…

    2026年9月2日
    100
  • 电脑硬盘读写速度慢故障排查及优化方法全解析

    电脑硬盘读写速度慢故障排查及优化方法全解析电脑硬盘读写速度慢故障排查及优化方法全解析电脑硬盘读写速度慢故障排查及优化方法全解析电脑硬盘读写速度慢故障排查及优化方法全解析

    硬盘读写速度慢的原因包括硬盘老化、磁盘碎片、病毒或恶意软件、驱动问题、硬件故障和温度过高。排查方法依次为检查硬盘健康状态、运行杀毒软件、更新驱动、检查温度、测试读写速度。优化机械硬盘的方法包括碎片整理、磁盘清理、关闭索引、优化虚拟内存、关闭不必要的启动项。固态硬盘优化要点有保持剩余空间、启用trim…

    2026年9月2日 用户投稿
    000
  • 怎样在ubuntu安装mysql数据库

    方法:1、打开“Ubuntu Software Center”,在搜索框查询mysql选定“MySQL Server”,点击安装即可;2、在ubuntu终端用“sudo apt-get install mysql-serve”命令安装即可。 本教程操作环境:linux7.3系统、mysql8.0.2…

    2026年9月2日
    100
  • 安全组中已经添加规则放行SSH端口的访问之后如何使用f1 RTL

    本文在介绍安全组中已经添加规则放行ssh端口的访问之后如何使用f1 rtl的基础上,重点探讨了其具体步骤,本文内容很紧凑,希望大家耐心学习。 使用f1 RTL 本文描述如何使用f1 RTL(Register Transfer Level)。 说明: 本文所述所有操作都必须由同一个账号在同一地域里执行…

    2026年9月2日
    100
  • mysql怎样查询最新的一条记录

    在mysql中,可以利用select查询语句配合“order by”和limit子句查询最新的一条记录,语法为“select * from 表名 order by 时间字段 desc limit 0,1;”。 本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。 …

    2026年9月2日
    100
  • 如何理解迁云工具和 P2V(Physical to virtual)

    本篇文章给大家带来的内容是关于如何理解迁云工具和 p2v,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 什么是迁云工具和 P2V 迁云工具专为平衡 ECS 用户的线上线下服务器负载或者各种不同云平台之间的负载而研发。以其轻巧便捷的特点,迁云工具支持在线迁移物理机服务器、虚拟机以及其…

    2026年9月2日
    100
  • Win10开机密码忘了别慌!三招轻松重置超实用解决方案

    卡在登录界面崩溃?别慌!不少win10用户都曾遭遇这个棘手难题——明明设好了开机密码,关键时刻却死活想不起来!网上教程不是含糊其辞就是操作繁琐。别着急,这份超详细指南专为解决密码遗忘问题而生,一步步带你安全高效地重返桌面! 一、提前准备:如何正确设置你的系统防线 在应对忘记密码的情况之前,先掌握正确…

    2026年9月2日
    000
  • MySQL性能监控工具推荐与使用教程_全面掌控数据库运行状态

    MySQL性能监控工具推荐与使用教程_全面掌控数据库运行状态MySQL性能监控工具推荐与使用教程_全面掌控数据库运行状态MySQL性能监控工具推荐与使用教程_全面掌控数据库运行状态MySQL性能监控工具推荐与使用教程_全面掌控数据库运行状态

    mysql性能监控工具是用于实时掌握数据库运行状态、定位瓶颈并进行优化的关键手段。首先,mysql自带的show status、performance_schema等提供基础信息;其次,percona toolkit中的pt-query-digest可高效分析慢查询日志;再次,prometheus+…

    2026年9月2日 用户投稿
    100
  • win11怎么创建PIN码登录_Win11设置使用PIN码替代密码登录系统

    可在Windows 11中设置PIN码实现快捷安全登录,PIN仅绑定设备且不通过网络传输。2. 通过“设置”→“账户”→“登录选项”点击“添加”并验证账户密码后即可创建PIN。3. 登录界面可使用“我忘记了PIN”功能重设PIN,需输入Microsoft账户密码验证身份。4. 本地账户用户同样可设置…

    2026年9月2日
    200
  • 关于基于URL发起HTTP/HTTPS GET的请求结构

    本篇文章给大家带来的内容是关于基于url发起http/https get的请求结构,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 请求结构 我们支持基于URL发起HTTP/HTTPS GET请求。请求参数需要包含在URL中。 以下为CreateSnapshot一条未编码的URL请求…

    2026年9月2日
    400
  • mysql怎样in查询操作排序

    在mysql中,可利用“ORDER BY”子句配合SELECT语句in查询来操作排序,语法为“select*from 表名 where 字段值 in(排序1,排序2…) order by field(字段值,排序1,排序2…);”。 本教程操作环境:windows10系统、m…

    2026年9月2日
    200
  • 为什么c盘不能扩展卷 这样重新分配空间才对

    为什么c盘不能扩展卷 这样重新分配空间才对为什么c盘不能扩展卷 这样重新分配空间才对为什么c盘不能扩展卷 这样重新分配空间才对为什么c盘不能扩展卷 这样重新分配空间才对

    在使用电脑时,许多朋友会遇到c盘空间不足的问题,于是尝试通过磁盘管理工具中的“扩展卷”功能来增加c盘容量。但却发现“扩展卷”选项是灰色的,无法使用。为什么会出现这种情况?下面将给大家分享c盘无法扩展卷的原因及解决方法。 1. 扩展卷的基本条件 在Windows系统中,要扩展某个分区(如C盘),必须满…

    2026年9月2日 用户投稿
    200
  • win8开机启动修复无限循环_win8启动修复无限循环问题解决方案

    1、强制关机三次进入高级启动菜单,禁用自动重启以查看错误代码;2、通过命令提示符执行bootrec命令重建BCD;3、尝试进入安全模式卸载最近更新或驱动;4、使用系统映像恢复备份。 如果您的 Windows 8 系统在启动时反复进入“启动修复”界面,无法正常进入桌面,则可能是系统关键文件损坏或启动配…

    2026年9月2日
    100
  • 如何通过 URL 发送 GET 请求调用云服务器 ECS API

    本篇文章给大家带来的内容是关于如何通过 url 发送 get 请求调用云服务器 ecs api,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 公共参数 公共参数分为 公共请求参数 和 公共返回参数。 公共请求参数 以下公共请求参数适用于通过 URL 发送 GET 请求调用云服务器 …

    2026年9月2日
    100

发表回复

登录后才能评论
关注微信