跨多个表搜索(最佳实践)

2024-02-07

我有由表组成的物业管理应用程序:

tenants
landlords
units
properties
vendors-contacts

基本上,我希望一个搜索字段可以搜索所有内容,而不必选择我要搜索的类别。这是一个可以接受的解决方案(技术方面吗?)

从长远来看,跨 5 个表进行搜索是否可以,并且不会使服务器陷入困境?实现这一目标的最佳方法是什么?

使用 PostgreSQL


为什么不创建一个视图,它是表的并集,将要搜索的列聚合为一个,然后搜索该聚合列?

你可以这样做:

select 'tenants:' + ltrim(str(t.Id)), <shared fields> from Tenants as t union
select 'landlords:' + ltrim(str(l.Id)), <shared fields> from Tenants as l union
...

这需要在客户端查询中嵌入一些逻辑;它必须知道如何制造它正在寻找的密钥,以便搜索single field.

也就是说,如果您只有一个单独的列,其中包含“类型”值(例如房东、租户),然后对类型和 ID 进行过滤,那么可能会更好,因为它的计算成本会更低(并且可以更好地优化) )。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨多个表搜索(最佳实践) 的相关文章

  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • 在sqlite SQL语句中与order by子句结合使用limit

    下面的两条 SQL 语句总是会产生相同的结果集吗 1 SELECT FROM MyTable where Status 0 order by StartTime asc limit 10 2 SELECT FROM SELECT FROM
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • 是否有适用于所有数据库的标准sql

    如下所示 不同数据库的语法有所不同 是否存在适用于所有数据库的标准方法 有没有什么工具可以将任意sql转换为任意sql SQL Server 2005 CREATE TABLE Table01 Field01 int primary key
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • 将古吉拉特语文本插入 MySQL 表会产生垃圾字符和不可读的文本

    我有三个 MySQL 表 我正在向其中插入古吉拉特语内容 当我插入两个表时 它们插入得很好并且可读 但在一个表中 它显示垃圾字符 不可读的文本 我怎样才能解决这个问题 MySQL 有每个表的字符集设置 http dev mysql com
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • 如何从 PostgreSQL 中的时间戳列值提取一天中的时间(或小时)?

    我正在尝试从 PostgreSQL 中的 时间戳 列中提取一天中的时间 这是我的做法 但是 太糟糕了 知道如何做得更好吗 SELECT date part hour date demande text hours date part min
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 在 PostgreSQL 中使用月份名称排序

    我有一个表 其中有一个字段 Month Name 它包含月份的名称 我想按月份名称排序 不是按字母顺序 而是按实际顺序 例如一月 二月等 如何使用 PostgreSQL 实现此操作 有什么方法可以将月份名称转换为其数值吗 id billed
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • 将第三个表链接到多对多关联中的桥接表

    设计这个数据库的正确方法是什么 这是我设置表格的方式 我在名为 教师 的表和名为 仪器 的表之间存在多对多关系 然后我有一个连接两者的桥接表 我想将另一个表与 BRIDGE 表关联起来 意思是乐器 老师的组合 该表有 3 行 指定老师可以教
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • 如何创建一个 Ninject 自定义作用域,在该对象被释放之前返回相同的对象?

    在 Ninject 中 在单例范围内声明绑定意味着每次都会返回相同的对象 永远只能有一个对象 我想要的是一次返回一个对象 换句话说 第一次调用 Get 实例化一个新对象并返回它 对 Get 的后续调用返回相同的实例 该对象已被处置 对象被释
  • 使用 Testbed 对 Google App Engine 进行单元测试时出现 InvalidModuleError()

    当我尝试为由多个模块组成的 Google App Engine 应用程序编写一些 Python 单元测试时 我一直在努力解决一些错误 我一直遵循以下指导https cloud google com appengine docs python
  • 切片器同时管理表中的多个列

    我有一个报告页面 其中包含有关汽车和自行车的表格 它们每个都是一个单独的表 例如 Cars Id CarName Time1 Bikes Id BikeName Time2 这些表之间没有关系 但它们必须显示在同一页面中 我怎样才能使用Sl
  • 哪些浏览器支持 MathML?

    我们很快就会开始开发 TeX 到 MathML 的转换器 所以 我想知道哪些浏览器 从哪个版本开始 正式支持 MathML 谢谢 几乎没有 只有 Firefox 和 Safari 可以处理 MathML See https caniuse
  • Django:使用小部件来限制 ModelForm 中的选择

    我的模型形式继承自子系统形式 我想限制用户在表单中的选择 特别是名字 我知道我必须使用小部件 但这不起作用 我必须使用 SubsytemForm SUBSYSTEM CHOICES a1 a2 a3 class Subsystem mode
  • Android:如何上传.mp3文件到http服务器?

    我想将 mp3 文件 仅 从设备上传到我的服务器 我想浏览媒体数据的路径并选择任何 mp3 文件并上传它 我怎样才能做到这一点 我最终的 JAVA 和 PHP 代码用于将文件从 Android 的 SD 卡上传到我自己的 Web 服务器 J
  • 操作栏中的三点操作溢出菜单?

    I noticed that in my app when I add a menu for new devices that dont have a hardware menu button it adds the three dots
  • 如何以编程方式绘制嵌套圆

    这里我使用图层列表通过 XML 绘制嵌套圆
  • 如何在 PostgreSQL 中查找序列中的间隙?

    我有一个带有 id 和 number col 的项目表 Stackoverflow 上有很多关于查找 ID 中的空白的问题 但我要查找的是数字中的空白 例如 如果我有 3 件物品 id number col 1 1 1 2 1 4 我需要一
  • RecyclerView日志语句:W/RecyclerView:RecyclerView不支持滚动到绝对位置。使用scrollToPosition代替

    我正在更新一个旧的 Android 项目 现在我反复从 RecyclerView 收到此日志语句 W RecyclerView RecyclerView does not support scrolling to an absolute p
  • 如何从nodejs获取ajax响应

    我正在尝试提交表单 然后它会发送状态success通过 AJAX 但是 当我在提交表单后从 NodeJS 发送状态时 它不会到达 AJAX 代码 因为我已经放置了一个alert 语句来检查它是否达到它 警报没有被触发 但它直接打印我写的值s
  • 如何通知用户桌面应用程序的重要事件?

    除了 MS Office 等其他软件之外 我们的客户还使用我们的软件 使用 Webstart 启动的 Java Swing 应用程序 来完成他的工作 有时他必须在我们的软件中立即处理一些重要事件 客户希望得到一个显着的通知 现在他可能正在使
  • 休息框架“get() 缺少 1 个必需的位置参数”

    我想将 GET 参数 pk 传输到 django Rest framework Browser 但在我的 view py 中 我设置了 GET 方法来接收 pk 参数 views py 这是 urls py 代码 还有一个问题 如果我在py
  • PHP - 使用新函数时如何避免旧服务器上的解析错误

    当我使用匿名函数时 但另请参阅下面的注释 例如 f function use out echo out 它会在 PHP 版本早于以下版本的服务器上产生解析错误5 3 0 我的软件需要兼容未知的服务器 但同时 我也想使用新的功能 所以我想我会
  • “发现重复的类” - IntelliJ 和 .class 文件

    我最近将我们公司的一个项目导入到IntelliJ Idea 10 5 1 中 我们使用ant构建脚本和 IntelliJ 都支持这一点 然而 当编译输出目录等于源代码目录时 IntelliJ似乎有一个明显的问题 即 class文件被放置在与
  • 我想用 Thymeleaf 缩写字符串

    我有一个表 我想更改一列 该列包含一个字符串 例如 这是我的字符串 gt 这是我的 我尝试用 abbreviate 来做到这一点 td td 但我收到此错误 EL1043E 意外的令牌 预期为 rparen 但是 是 lcurly S fg
  • 使用 Angular Observable 订阅会话存储密钥

    我试图实现我所希望的一个简单的 查看会话存储中的密钥并在它发生变化时更新它 的场景 但 Observables 确实让我困惑 message new Observable observer gt observer next window s
  • 在 Grails 中用自己的方法扩展 SpEL?

    我想在 Grails 应用程序中添加自定义 SpELL 方法 就像为普通 Spring Security 应用程序所做的那样这个问题 https stackoverflow com questions 6632982 how to crea
  • 如何在eclipse中附加php文档

    有没有办法在 Eclipse 中附加 PHP 文档 这样如果我将鼠标悬停在任何函数上 我就可以获得所有详细信息和相关描述 与 javadocs 类似的内容 Using 日食 赫利俄斯 php5 操作系统 Ubuntu 12 04 以下是将
  • 跨多个表搜索(最佳实践)

    我有由表组成的物业管理应用程序 tenants landlords units properties vendors contacts 基本上 我希望一个搜索字段可以搜索所有内容 而不必选择我要搜索的类别 这是一个可以接受的解决方案 技术方