- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
一般来说,我喜欢让我的数据库尽可能地干净和可扩展。
然而,在做了一些测试之后,我意识到虽然这通常是最好的方法,但在处理大型数据集时,它比我所说的解决问题的“肮脏”方法要慢得多。
基本上可以说我有一个对象表。这些元素属于某些人。一个对象可能有一个人,而其他对象则不止 1 个。我最初的想法是像往常一样,为我的对象创建一个对象表,为我的人创建一个 peoples 表,然后是一个 object_to_people 链接器表。
然而,加入对象和链接器表以获取一个人分配给的所有对象,最多可能需要 3 秒(这是基于大约 40 万条记录,但每个对象只有 1 个链接)。是的,我还设置了索引的 e.c.t.尝试加快速度。
如果我改为删除人员和链接器表,并将人员作为列放入对象表中,并使用 1/0 设置是否将每个人分配给该对象,而不加入两个大表,我会看到速度大约 0.3 -> 0.7 秒(变化很大)。
首先,我们只需要 2 个人。但如果可以的话,我不想限制太多。我知道我可以使用缓存和什么不能改善最终用户的计时,但是有什么理由认为使用列而不是链接表是一个非常糟糕的主意吗?
最佳答案
我有一个类似的设置。
我的连接表有 17,000,000 行。我的“人”表有 8,400,000 行,我的“对象”表有 300,000 行。
我的连接表上有多个连接的查询和返回数万行的结果联合,它们运行时间不到 1 秒(50-400 毫秒)。
我认为您的第一个布局可能没问题,但您可能需要专注于索引和查询。
关于mysql - 标准化与性能 : benefit/issues of removing linking tables in (this) schema?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8098082/
我很恼火必须通过 Constructor 传递管道对象,因为我想为业务实体或要传递的值保留构造函数参数。 所以我想通过 setter ,但只要这些 setter 没有被填充,我的包含依赖项的对象就不应
假设我有以下代码: char[5][5] array; for(int i =0; i < 5; ++i) { for(int j = 0; j < 5; ++i) { ar
我一直在阅读关于 spl_autoload_register 函数作为 require、require_once、include 和 & 包含一次。尽管有很多关于如何实现这一点的讨论,但文档并不太详细
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
@TableGenerator 技术生成主键有什么好处?为什么我们使用这种技术以及如何使用用于存储生成器的序列名称和值的第三个表来获取数据? 最佳答案 来自链接。 http://en.wikibook
我正在使用 this 学习 Spring教程。我无法理解其中的以下摘录: Spring 使开发人员能够使用 POJO 开发企业级应用程序。仅使用 POJO 的好处是您不需要 EJB 容器产品(例如应用
Jhipster4 添加了数据传输对象(DTO),那么使用 DTO 对象有什么好处? 最佳答案 主要好处是更精确地控制从实体公开哪些属性,并公开实体聚合而不是单个实体。 关于java - 吉普斯特4
当用户提供数据并且我们使用该数据进行数据库插入或什至构建查询时,准备好的语句可以很好地防止 SQL 注入(inject)。但是,当我从数据库中检索先前插入的用户提供的数据时,PDO 真的有什么好处吗?
我用两种不同的方式编写了这个模板类:一种使用可变参数构造函数,另一种使用 std::initializer_list .出于这个问题的目的,我将以不同的方式命名类,但请注意,在我的项目中它是同一个类,
如果一个类型有一个不会失败的交换函数,这可以让其他函数更容易提供 strong exception safety guarantee .这是因为我们可以首先完成所有可能会失败的函数工作,然后使用非抛出
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
Unit8Array is a typed array represents an array of 8-bit unsignedintegers. This is what I
谁能解释一下 OAuth2 的优点以及我们为什么要实现它?我问是因为我对此有点困惑——这是我目前的想法: OAuth1(更准确地说是 HMAC)请求看起来合乎逻辑、易于理解、易于开发并且非常非常安全。
我继承了一些旧的 jquery 代码,并且我注意到原始开发人员到处都使用查询选择器“.class #id”。例如: $('.red #mydiv') 这更好、更差还是完全相同 $('#mydiv'
在 C++ 中使用这些运算符而不是隐式转换有什么好处? dynamic_cast (expression) reinterpret_cast (expression) static_cast (
我的异常处理技能非常初级,我总是很困惑我应该如何使用它们,而不是如何/语法。我目前正在使用 C#(如果有不同的东西适用的话)。 我的问题是,在开发应用程序时创建自己的异常类有什么好处?与抛出标准 Ex
套接字有这些new async methods since .NET 3.5与 SocketAsyncEventArgs 一起使用(例如 Socket.SendAsync() ),好处在于它们使用 I
我读了 Magnus Holm 的一篇题为 Block Helpers in Rails 3 的帖子。 ,其中他指出 Rails 3 过度弯曲 ERB 的语法。 (在“原始”ERB 中,ERB 构造只
我已通读 https://github.com/apotonick/roar ROAR 似乎花了很多心思。但是在使用 jbuilder 的相当标准的 Rails 支持的 JSON API 的上下文中,
我知道 Java 注解有三种保留策略: CLASS: Annotations are to be recorded in the class file by the compiler but need
我是一名优秀的程序员,十分优秀!