- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在制作一个显示图片的网站。站点的特殊功能是“不要再向我展示我以前看到的内容”。这意味着,如果您看到一张图片,它会转到您的“存档”类别。会有很多图像和类别。而且我需要非常平滑的数据库架构来实现性能。
当您点击一张图片时,它会出现在灯箱上,并且在灯箱代码中它会使用 ajax 发送请求,以便专门为您存档该图片。
对于大约 5.000 个图像和 20.000 个用户,该数据库架构是否表现出色?
users
user_id
user_email
pictures
picture_id
picture_url
tags
archived
user_id
picture_id
图像将出现在您面前,除了此架构上所有图像中的存档图像之外...
最佳答案
如果不了解所有细节,这是一个很难回答的问题。你提到会有多少用户和图像。每个用户(平均)在他们的归档列表中有多少张图片?如果该数字很小,归档表将不会接近 1 亿行。
100M 行本身应该不是问题,因为数据库可以处理这个问题。问题可能(或将)与您想要查询数据的方式有关。像这样的东西:
SELECT
*
FROM
picture
WHERE
picture_id NOT IN
(
SELECT picture_id FROM archived WHERE user_id = [userIdParameter]
)
对于 1 亿行,这可能不会很好地执行。
另一种选择是交叉连接用户和图片,以便存档表始终包含笛卡尔积。所以表格将是:
archived
user_id
picture_id
visited
然后你可以这样查询:
SELECT
p.*
FROM
picture p
INNER JOIN archived a ON p.picture_id = a.picture_id
WHERE
a.user_id = [userIdParameter]
AND a.visited = [false]
这应该可以通过适当的索引来执行,但是会带来一个问题,即每当将用户或图片添加到系统时,都必须确保在存档表中创建行。这也意味着您总是的行数等于图片 * 用户(在您的示例中为 100M)。在您的情况下,这可能是不可取的。
最重要的是,您将必须创建一些接近预期容量的测试数据,并进行一些接近负载的性能测试。如果您认为这是系统的关键潜在性能瓶颈,那么值得投入时间。
关于mysql - "don' t 的数据库模式再次向我展示了我之前在 mysql 中看到的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7545224/
我创建了一个邻接链表来显示城市之间的航类。该程序从 2 个文件中读取,一个包含城市名称,另一个包含不同航类的来源和目的地。我为所服务的城市创建了一个数组,并为数组的每个城市索引创建了一个连接城市的链接
我正在寻找可以让我更好地了解着色器在游戏中的用途、它们可以做什么,甚至更重要的是,它们不能做什么的资源。我了解图形管道的工作原理以及所有这些,并且我在 GLSL 中制作了一些非常基本的着色器(主要是为
我正在尝试根据单选按钮的选择制作显示两个 div 之一的东西。就单选按钮而言,我有这段代码: 然后是我的DIV: Purchase and Sale Purchase or Sale 我
谁能告诉我应该使用哪些 GitHub API 来检索 GitHub 展示?谢谢。 为了获取GitHub的列表showcases ,我应该使用什么确切的 GitHub API? 选择主题后,要检索该主题
我添加了 showcaseview jar 到我的项目中并像这样使用它 ShowcaseView.ConfigOptions co = new ShowcaseView.ConfigOptio
如果这不可能,那么在使用应用程序 3 分钟后我该如何做?这将用于“给我们评分”提醒,但我希望用户在要求他们评分之前有一些时间实际使用该应用程序。 最佳答案 - (BOOL)application:(U
除了选择 0-4 之间的随机数,如果它的 3 显示广告,是否有更好的方式来展示插页式广告? 此方法有其缺点,因为有时广告不会展示一段时间,有时它们会连续展示 3 次,这非常烦人。任何帮助将不胜感激!
我们正在尝试在我们的 Android 应用程序中监控 Firebase 云消息传递功能的状态。我们经常收到用户的反馈,他们说他们没有。 通过检查 Google Firebase 报告工具,我们发现在过
我制作了一个加载苹果测试广告的测试应用程序。我想知道如何加载实时广告而不是苹果测试广告。加载实时 iAd 的机制是什么?任何人都可以在这方面帮助我吗? 问候阿卜杜勒·萨马德 最佳答案 作为docume
我正在尝试让我的应用程序在屏幕上休眠。 我研究过 pmset 但没有成功,我什至尝试过 IOHIDPostEvent。我可以让 IOHIDPostEvent 按下 Eject 键,但设置 Shift
有没有办法使用 manim 显示 latex 表并为其设置动画? 例如 \begin{table}[] \centering \begin{tabular}{lllll} & & \multico
有没有办法使用 manim 显示 latex 表并为其设置动画? 例如 \begin{table}[] \centering \begin{tabular}{lllll} & & \multico
此代码调用新数据并将其放入 div,但不会替换旧的 htm。它只是增加了它。代码中有错误,但我找不到它们。如何获取它来替换 htm 文件而不仅仅是添加到数据中? .click(function ()
我想检测网络状态,当网络状态发生变化时,在当前 Controller 中显示错误 View 。但是使用协议(protocol)有一个问题。这是代码: private func networkingDe
我被要求创建一个小环境,展示使用 NoSQL - SQL 混合数据库相对于仅使用 SQL 数据库的优势。由于我的背景主要是管理/DevOps,所以我对数据库有基本的了解,但我从未做过这样的事情。 我想
我有一个使用模式的表单。似乎在任何浏览器上,当我单击图标(上传链接)时,模式弹出,然后页面向左缩小一点。 此处为实例:http://dev.handyvet.org/VetProsDevSite/_M
我正在准备一个大师类,向工作中的一组技术美 worker 员展示。小组中的每个人以前都使用 C/C++/MEL/MAXScript/Python 进行过编程。该类(class)的目的是共同将每个人的技
几天前,我将我的 Beta (公开 Beta 测试) 应用程序提升到生产环境。一切顺利。我可以在 Playstore 中搜索我的应用程序。但是有一个问题,Playstore 没有删除我的应用程序名称旁
使用 Bootstrap 3,我想要一个方形的平铺菜单,看起来像 Bootstrap 的缩略图 (http://getbootstrap.com/components/#thumbnails)。获得平
我想显示 admob Ad通过mopub sdk在我的一个 iPhone 应用程序中,但我找不到 API Password和API Key通过 Ad Mob。 谁能帮我将 Admob 网络集成到 mo
我是一名优秀的程序员,十分优秀!