在数据库中视图的列中搜索

本文关键字:搜索 视图 数据库 | 更新日期: 2023-09-27 17:58:00

我有一个视图,它是通过连接几个表创建的,这些表的记录可以被更改,因此视图中列的内容也可以被更改视图的列包含地址、随机数、日期、一些随机字符串等数据。

我接受用户的搜索文本,如果其中任何一列包含用户输入的文本,则返回行。

我的视图有数百万条记录,所以像查询这样的普通查询不起作用(需要很长时间)?当视图的表被更改时,搜索视图的最有效方法是什么?

我使用的是oracle数据库,C#,entityframework。

在数据库中视图的列中搜索

为了获得更好的性能,您应该在原始表中正确添加索引。。每次更改时,rdbms引擎都会自动刷新这些索引。。所以你不可能通过索引值获得错误的数据。。索引值和表数据包含相同的值。。

你不需要每次都重新索引。。。有时(每月)你可以更新相关的统计数据。。

所以这个指数可以更好地改变你的表现。。这也适用于视图

create中的视图位于原始表的顶部,并且不是原始表的存储副本。。因此索引有助于视图更快地呈现预期结果。。

索引索引如果设计得当,可用于数据库服务器中的重要用途:

他们让rdbms

  • 查找相邻行的组,而不是单行
  • 通过按所需顺序读取行来避免排序
  • 让服务器单独满足(有时)来自索引的整个查询,从而避免(在可能的情况下)访问表的需要

来自mysqlhttps://dev.mysql.com/doc/refman/5.5/en/mysql-indexes.html

https://dev.mysql.com/doc/refman/5.5/en/column-indexes.htmlhttps://dev.mysql.com/doc/refman/5.5/en/multiple-column-indexes.html

http://code.tutsplus.com/tutorials/top-20-mysql-best-practices--net-7855

http://use-the-index-luke.com