位置: 编程技术 - 正文

创建一个实现Disqus评论模版的MySQL模型(请创建一个die类)

编辑:rootadmin

推荐整理分享创建一个实现Disqus评论模版的MySQL模型(请创建一个die类),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:创建一下,创建实现类,创建一个名为“dir”的新样式,创建一个名为dir,创建一个gui,创建一个名为dir,创建一个可执行程序的步骤,创建一个实例,内容如对您有帮助,希望把文章链接给更多的朋友!

在很长一段时间内,PostgreSQL都被认为是MySQL的替代品。但是,在那段时间里,根本没有办法使他达到MySQL所能达到的水平。最近几年里,这些问题都无法解决,并且产生了许多有趣的工具来弥补PG。我们在Disqus中使用了两个Slony和pgbouncer。Slony让我们可以复制数据(有时候也可以分区),而pgbouncer为我们解决了保持链接和连接池的问题。

另外,让我们看看他们的语言:我这个星期很高兴能够学会如何在PGSQL8.4中使用递归查询,他们实在太强大了。这就是我这篇文章所真正想要和大家讨论的东西。MySQL让我们可以工作,并且工作的很好,但你只能在引擎的结构内完成。虽然在PG中依然如此,但你有了更多的选择。因此,我想讲讲树的线索化的问题。

大家都知道Disqus不仅仅是最大的Django网站(我们每个月有近万的访问量),同时,他也是他也是一个最大的网上评论系统。我们为上千个网站提供了许多功能,最基本的就是评论作为树状结构的线索化。

PostgreSQL提供了许多个关于线索化的解决方案。最常用的(也是最高效的)方法就是改良版的前序遍历。简单的说,他增加了一个左序,一个右序,他们会在你添加评论时被更新。我们还有另一个标准的方法(Reddit使用的很欢乐),那就是“取出所有的东西,然后在内存中完成操作”。实际上,不仅仅只有Reddit这样做。

继续看看PGSQL为我们提供的东西,我们还可以找到两个选项(最低在8.4版本)。其中一个是使用PG的内建模块称为ltree。他允许你将一个节点的完整路径(所有父结点)存储下来,同时允许你通过标准的sql语句查询他们。当你需要按照“最早发布”排序的时候,它会非常有用,因为这样以来,就变为了简单的按照“ltree——column”排序。然而,和大部分时候一样,Disqus的情况没有这么简单。

我们的第二个解决方案就是递归查询。他花了我很长一段时间来理解他是怎么工作的,但是当我理解后,我被他的能力深深的吸引了。Postgre提供了许多MySQL所没有的特性,比如over()修饰符。他们真的表现的非常好。

让我们继续深入我们的问题,这会是一个大问题。现在,Disqus和Reddit处理多线程的方法一样,都是和网上其他的解决方案一样,非常的简陋。我说的是简陋不是说代码写的不好,而是他的优化没有做到他应该做到的。直到某些人(就是你,Obama同学)开始使用这个程序,并且所有人都想回复他的话,我们才发现出问题了。我们再一次想到了Django(即使他们越来越大)并且通过业务逻辑将他们分组。

创建一个实现Disqus评论模版的MySQL模型(请创建一个die类)

自从8.4开始,我们就可以使用递归查询来解决这个问题(在许多情况下我们已经自己开始这么做了,虽然会有点复杂)这个相当的简单。

因此,让我们一个基本的例子。我们有一个的评论模型,它看起来有点像这样:

我们现在所做的,是建立一个基本的评价模型。我们的消息,笔者父评论(这是可选的)。现在,让我们来学习如何使用递归查询可以轻松地重新订购本datd中,由id升序排序。

很甜蜜吧?哦,等等,有困惑?所以我一直在寻找的查询更复杂的是一大堆惊人的bug.pgexperts为我们指向正确的道路。

现在,我不会钻到太多,因为有更好的教程,在此模式中处理递归查询,但我们完成了我们的结果。

我们要处理一个巨大信息集,并且有些评论有将近几千个回复。如果%的评论都只有个回复,那么将他们放入内存中并不是什么问题,但当他们开始增加时,我们最终会浪费很多时间。PGSQL中的递归查询可以让我们很简单的把这项工作交给数据库(有时候他们处理的比我们快的多),并且给我们节省了很多花费在网络传播和web处理的时间和资源。

有一个例子可以让你更直观的理解他是多么的高效,我们曾经见过仅在大型数据库的SQL处理时间这一项上(返回个结果,而不是个)就将近节省了%的时间。这甚至没有包括我们在程序级上的花费。是的,没错,这些SQL语句仅在数据库层上就比其他数据库快5倍

总而言之,作为一个MySQL的拥护者,我对Disqus使用PostgreSQL所达到的性能,规模,以及灵活性表示十分震惊。我十分期待去发现通过这个平台我们还能做什么,去寻找还在等待我们的挑战。

在MySQL中创建带有IN和OUT参数的存储过程的方法 在MySQL中创建储存过程的语法很难记,除非你经常跟储存过程打交道,原因很简单,语法不是什么小笑话。如果你通过命令行控制MySQL,你需要记住准确

在MySQL中使用Sphinx实现多线程搜索的方法 MySQL、Sphinx及许多数据库和搜索引擎中的查询是单线程的。比如说,在一台个CPU核心、个磁盘的R服务器上执行一个查询,它最多只会用到一个核心

Win7、WinXP下MySql安装出错完全卸载的方法步骤 最近mysql安装出现问题:1.操作系统不同,安装过程中删除,清理也不同:window7:安装mysql过程中,最后安装到startservice的时候提示服务有问题,然后卸

标签: 请创建一个die类

本文链接地址:https://www.jiuchutong.com/biancheng/347647.html 转载请保留说明!

上一篇:在VB.NET应用中使用MySQL的方法(vb.net invoke)

下一篇:在MySQL中创建带有IN和OUT参数的存储过程的方法(创建mysql表sql语句)

  • 服务费收入是什么
  • 车船税发票可以作废吗
  • 同一控制下的长期股权投资入账成本
  • 税务局核定税种是什么意思
  • 亏损金额需要对抵实收金额吗
  • 免交城建税的会计分录
  • 企业所得税预缴少申报案例
  • 开具3%增值税发票
  • 原材料保险公司赔偿会计分录怎么写
  • 聘用劳务人员派遣合法吗
  • 其他应付款能转收入么
  • 开给天猫的服务费分录如何做
  • 利润表的企业所得税怎么查询
  • 税控盘的购买流程
  • 票据单据较多,费用报销单一张不够填怎么办?
  • 统借统还的所得税政策
  • 生育津贴需要缴纳五险一金吗
  • 向其他企业捐赠现金所有者权益
  • 下雨被水淹
  • 个人社保缴费允许多少年
  • 跨年会计分录错误
  • 发票修复是怎么回事
  • 销售技巧培训课程
  • 企业所得税税率表2023年最新
  • 东芝t351笔记本
  • ios路由设计
  • 停薪留职单位欠缴社保怎么处理
  • 物流公司的财务能学到东西吗
  • 银行贷款发放怎么做凭证
  • 广告制作公司成本核算包含哪些
  • 短缺的材料算不算入账价值
  • 公众号 隐藏文章
  • 哪些项目容易漏缴个人所得税?
  • php连接数据表
  • php的难点
  • 涉税服务实务会花多少时间完成
  • 项目辅材计入什么科目
  • 怎样创建一个网站
  • 其他应付款清账
  • 云服务器远程端口
  • laravel使用了哪些设计模式
  • 应收账款的平均余额怎么计算
  • 专用发票抵扣联是什么意思
  • 企业向合伙企业分红怎么交税
  • 公对私转账没有到账怎么查询
  • SQL 联合查询与XML解析实例详解
  • access 200
  • 教育培训业能享受补贴吗
  • 农民专业合作社属于什么经济类型
  • 实收资本没有实缴,财务报表里面怎么写
  • 汇兑损益计入营业外收入吗
  • 预付工程款会计分录
  • 仓库到仓库贸易术语
  • 税务滞纳金计入什么会计科目
  • 疫情期间购买消毒弥雾机的请示
  • 以货物抵应收账款的分录
  • 购买银行理财产品的几个必须知道
  • 纳税人将外购的货物用于非应税项目
  • 设备投资要开票吗
  • 损益类科目明细账怎么结账
  • 固定资产会计账簿
  • 外购商品为什么是库存商品
  • 苗木设计方案
  • u启动开机启动快捷键
  • xp系统不能正常启动怎么修复
  • Win10预览版更新弹窗如何关闭
  • win7小技巧
  • 问题的英语怎么读
  • js 浮点数运算
  • javascriptcsdn
  • nodejs excel转json
  • 数据类型 python
  • javascript初级教程
  • jquery22插件网
  • python+Django+apache的配置方法详解
  • 深圳市税务审批中心电话
  • 广州市公安局分局待遇
  • 辽宁房产税2021年新规定来了,自2021年1月28日起执行
  • 耕地被占用税怎么交
  • 美国对中国商品征收关税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设