当前位置: 首页 > news >正文

网站服务器有哪些类型有哪些类型有哪些类型有哪些类型有哪些百度统计工具

网站服务器有哪些类型有哪些类型有哪些类型有哪些类型有哪些,百度统计工具,佛山本科网站建设,山东网站策划怎么做在进行数据查询性能测试的过程中,我的同事幺加明对 ES(Elasticsearch)和 MySQL 进行了相对较大数据量的测试,并整理了相关结果。在得到其授权的情况下,我将此对比案例分享给大家,在此再次向幺加明表示感谢。…

在进行数据查询性能测试的过程中,我的同事幺加明对 ES(Elasticsearch)和 MySQL 进行了相对较大数据量的测试,并整理了相关结果。在得到其授权的情况下,我将此对比案例分享给大家,在此再次向幺加明表示感谢。

、结论

通过对es和mysql相对较大数据量的测试,得出结果:在Mysql查询使用到合适的索引的条件下,通过mysql得到相应结果的速度要明显优于Es。

、通过es实现

 Es 文档数据模型

type Content struct {ContentId      int64  `json:"id"`              // 内容idPermissionType int    `json:"permission_type"` // 权限类型 0:公开,1:仅自己可见,2:部分可见,3:不给谁看TopicId        int    `json:"topic_id"`        // 话题idAllowUser      []User `json:"allow_user"`      // 允许的用户BlockUser      []User `json:"block_user"`      // 屏蔽的用户
}type User struct {Id int64 `json:"id"` // 用户id
}

测试数据量及条件

  • 测试 ES 数据量为 2000 万的作品数,5000 的用户量(此用户量与实际情况有出入,理论上应有至少 20 万的用户量)。当设置给部分人可见时,AllowUser 内有 30 个元素;同样,当设置不给谁看时,BlockUser 内也是有 30 个元素。所以对应的总数据量在 3 亿条左右。

查询条件如下:

1、单独查询公开可见数据: 查询时间在275毫秒左右

2、单独查询部分可见数据:耗时70毫秒左右

 3、单独查询部分不可见数据:耗时255毫秒左右

 4、合并三次查询未一次查询就得到结果的话:耗时428毫秒左右

综上所述 采用 Es最快的响应时间为并行执行每次查询,耗时在300毫秒以内。

 

三、通过mysql实现

Mysql 表结构如下:

CREATE TABLE `content_permission_1` (`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键自增',`content_id` int NOT NULL DEFAULT '0' COMMENT '内容id',`permission_type` tinyint NOT NULL DEFAULT '0' COMMENT '权限类型 0:公开,1:仅自己可见,2:部分可见,3:不给谁看 ',`topic_id` int NOT NULL DEFAULT '0' COMMENT '话题id',`user_id` int NOT NULL DEFAULT '0' COMMENT '权限针对的用户id',PRIMARY KEY (`id`) USING BTREE,KEY `idx_content_id` (`content_id`) USING BTREE,KEY `idx_user_id_content_id` (`user_id`,`content_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='内容权限表(可见设置)'

测试条件及数据量

  • 测试 MySQL 数据量为 1000 万的作品数据,总共 1.5 亿权限相关数据。

查询条件如下:

1、查询公开数据:耗时21毫秒左右; 使用到的索引为 idx_content_id

2、查询部分人可见: 耗时48毫秒左右; 使用到的索引为 idx_user_id_content_id

3、查询部分人不可见:耗时13毫秒左右;使用到的索引为 idx_content_id

综上所述 采用 mysql最快的响应时间为并行执行每次查询,耗时在50毫秒以内

总结

1.mysql建立合适的索引,避免回表的情况下,其查询性能还是非常优异的。

2.对于 ES 的测试结果,其实并不令人意外。不过,对于 ES 在字典中查找对应 keyword 的具体方式,我充满了好奇。目前我在思考它是否基于二分法进行查找呢?毕竟在面对庞大的数据量时,如果采用二分法,可能会在一定程度上影响查询速度。遗憾的是,目前我还没有找到关于 ES 底层查询原理的详细资料,所以这仅仅是我的一种猜测罢了。倘若让我来编写这样一个程序,在没有更多信息的情况下,二分法或许是我首先能想到的一种实现方式。但我深知,ES 作为一款成熟的搜索引擎,其查询原理必定更加复杂和高效,肯定不仅仅局限于简单的二分法。我期待着深入了解 ES 的底层查询机制,以便更好地理解和应用它在实际项目中的强大功能。这个问题有时间再做深入研究。

通过这次对比测试,我们可以看出在特定的查询场景下,MySQL 在性能上有着明显的优势。然而,ES 也有其独特的应用场景,如全文搜索等。在实际应用中,我们需要根据具体的需求来选择合适的数据库技术,以达到最佳的性能和效果。

http://www.laogonggong.com/news/1715.html

相关文章:

  • 个人网页是什么百度seo排名原理
  • 海南做网站的网络公司搜外滴滴友链
  • 营销网站建设维护关键词优化seo优化排名
  • 网站建设项目的wbs手机推广平台有哪些
  • 购物网站服务器价格响应式网站模板的特点
  • 东莞建站公司快荐全网天下特别好百度关键词排名查询工具
  • 上海大型网站建设公司排名爱站网 关键词挖掘工具
  • 营销型网站主页定制三只松鼠搜索引擎推广
  • 建筑人才网信息网谷歌seo价格
  • 域名停靠盘他app网站做电商必备的几个软件
  • 域名停靠盘他app网站做电商必备的几个软件
  • 高新公司网站建设电话注册查询网站
  • 厚街手机网站建设网络舆情监测专业
  • 红酒公司网站源码软文营销的作用
  • 英文外贸网站源码aso优化服务平台
  • 电脑上如何做网站宣传免费的拓客平台有哪些
  • 请问如何做网站5188大数据官网
  • flash网站链接怎么做网络营销技巧
  • 上海企业网站制作报价拉新推广怎么快速拉人
  • 做新闻h5网站百度网站排名规则
  • 做新闻h5网站百度网站排名规则
  • 衡阳 网络 网站营销方案
  • 如何做一家网站腰椎间盘突出压迫神经腿疼怎么治
  • 西安建筑人才网独立站seo搜索优化
  • 网站读取错误时怎样做semester什么意思
  • 巨野住房和城乡建设局网站网络营销以什么为中心
  • 做城通网盘资源网站的源码站长之家权重查询
  • 四川手机响应式网站建设设计生猪价格今日猪价
  • 一个企业做网站的意义广州seo关键词优化外包
  • 沈阳网站定制中国搜索引擎市场份额