- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
举个例子:我有一个数据库来检测访问者(机器人等),并且由于并非每个访问者都具有相同数量的“凭据”,因此我制作了一个“动态”表,如下所示:请参阅 fiddle :http://sqlfiddle.com/#!9/ca4c8/1 (简化版)。
这会返回我用来收集有关每个配置文件(在另一个数据库中)的信息的配置文件 ID。根据配置文件类型,我使用不同的 name
子句 (name='something')(ei:主机名、ipAddr、userAgent、HumanId 等)查询表。
我不是 SQL 专家,但我熟悉索引、约束、主键、唯一键、外键等。从这些搜索结果中我看到:
他们中的大多数人都对自连接的不良性能有评论,但答案往往是由于缺少索引原因。
所以最后一个问题是:假设所有内容都正确索引,自连接表是否会使其更容易出现性能不佳的情况?
<小时/>顺便说一句,有关该表的更多信息:可能与问题无关,但很适合我的特定情况:
这是我正在开发的一个大项目,所以我现在无法用数百万条记录来测试它,但我想知道随着这个项目的增长,性能是否会成为一个问题。任何输入、链接、引用、文档或测试程序(可能在评论中)将不胜感激。
最佳答案
自联接与联接两个不同的表没有什么不同。优化器通常会根据 WHERE
选择一个“表”,然后对另一个进行嵌套循环连接。就您而言,您通过LEFT
暗示它应该仅以一种方式工作。 (优化器将忽略该如果它认为不需要它。
已找到该 fiddle 的 key 。
真正的问题是“实体-属性-值”,这是一种在表中布置数据的困惑方式。您的查询似乎是在说“找到一个(限制 1)profile
(实体),该实体具有一对特定的属性(name = Googlebot AND
addr = ...)。
如果有两列(name 和 addr)和一个“复合”INDEX(name, addr)
,会更容易、更快。
我建议对常见“属性”执行此操作,然后将其余内容放入带有 JSON 字符串的单个列中。请参阅here .
关于MySQL自连接性能: fact or just bad indexing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42129459/
170!接近浮点 double 的极限:171!会溢出。 不过170!长度超过 300 位。 因此,有 没办法那170!可以用浮点数精确表示。 然而 Excel 返回 170 的正确答案!/169!
我正在尝试访问与我的目标主机不同的主机的 Ansible 事实。以下是我的示例剧本。但是当我运行下面的游戏时,不会为 util 服务器收集事实。谁能帮我,我怎样才能访问不同服务器的事实? --- -
我有点难以理解 not函数与模式匹配交互。我想写一个模式匹配,“这样的事实不存在”。 也就是说,我想要的是: (defrule init-count (not (highest-debt ?)
我有一个经常使用 observeChanges 的包 ( yeputons/meteor-smart-publish ),我想添加一个测试(我现在使用 TinyTest),它允许我确保所有这些观察者都
我遇到了一些 ansible 模块的问题。我这样编写自定义模块及其输出: ok: [localhost] => { "msg": { "ansible_facts": {
鉴于这些事实: pos(a,1). pos(b,2). pos(c,3). 我想找到一个角色的位置。例如,pos(b,P) P=2。 将这些事实转换为列表并进行成员资格检查是否更好,如下所示: mem
我们有一个文件夹,里面装满了需要设置为单个 URI 的 JSON 文本文件。目前这一切都是用一个 xUnit "[Fact]"完成的,如下所示 [Fact] public void TestAllCa
我正在尝试编写一个函数,它接受任何 TList 并返回 TList 的所有元素的字符串表示形式。 我尝试了这样的功能 function ListToString(list:TList):String;
我是 Scheme 的新手,所以请原谅这个问题:我有一个计算数字列表的阶乘的函数,但它在结果中的最后一个数字之前给了我一个句点。我哪里错了? 代码: #lang scheme (define fac
举个例子:我有一个数据库来检测访问者(机器人等),并且由于并非每个访问者都具有相同数量的“凭据”,因此我制作了一个“动态”表,如下所示:请参阅 fiddle :http://sqlfiddle.com
示例: [Fact] public void FooTest(){ } VS2015 中的结果:测试通过 我在 .NET 4.6 Framework C# 项目中使用 xUnit NuGet v2.4
我在/etc/ansible/facts.d/mount.fact 中创建了以下本地事实文件: [ { "name": "/mastersystem",
我是 puppet 和 ruby 的新手,只是尝试编写自定义事实但是......遇到以下问题 Facter.add("vsphere_installed") do confine :opera
我对 python 中函数装饰器的理解(我可能是错的)是它们应该添加副作用并修改函数的返回值。现在装饰器被添加到要装饰的函数的函数定义之上或通过赋值。这是一个小例子: def print_args_d
在为 future 几年设置 C++ 单元测试框架的过程中,我们入围了 GoogleTest 和 CppUnit。我对这两者都有一些经验,我最喜欢的是 GoogleTest。无论如何,为了说服我的老板
我有一个应用程序,我知道它可以制作一个很棒的多维数据集,并且比标准的平面 Reporting Services 报表更有用。我们即将与一名顾问一起进入 BI 领域,但我想在此之前先试一试,主要是因为我
我是音频播放的新手,并且整天都在阅读wav文件规范。我编写了一个简单的程序来提取文件头,但是现在我的程序始终返回false,因为DataID始终以“事实”而不是“数据”形式返回。 我认为有几种原因可能
我正在使用 RDBMS 构建一个穷人的数据仓库。我已确定要记录的关键“属性”: 性别(真/假) 人口统计分类(A、B、C 等) 出生地 出生日期 体重(每日记录):正在记录的事实 我的要求是能够运行“
我已将带有我想要的事实的 Pojo 模型的 .jar 导入到我的 Guvnor 存储库中。其中一个类有一个带参数的构造函数,这是我无法在给定部分的测试场景中实例化的唯一事实。我得到一个指向该类的 In
在官方 Java 指南中 “Programming with assertions”据称(页面最后一段) Few programmers are aware of the fact that a cl
我是一名优秀的程序员,十分优秀!