gpt4 book ai didi

c# - 在用户输入时加快记录过滤

转载 作者:可可西里 更新时间:2023-11-01 07:17:05 25 4
gpt4 key购买 nike

我的应用程序在 C# [.NET 3.5] 和 MySQL 5.1 后端。

我有一个带有 TextBox 和 DataGridView 的 Windows 窗体。当用户在 TextBox 中输入几个字符时,将运行一个带有 Like 子句的 SQL 查询来过滤下面 DataGridView 中显示的记录。

项目列表已经大大增加,而且我也没有发现对每个字符输入运行 SQL 查询是合适的。我认为另一种方法是在应用程序加载时创建一个数据集,并预先用最近的股票头寸填充它。比使用 LINQ 或类似的东西来过滤内存中的记录集。但是这种方法也没有得到优化,因为每当创建新账单时,库存中的商品就会减少,每次我都需要更新内存中的记录集。

有没有其他优化更快的方法?

最佳答案

可以做一些优化

数据库层
Great post关于如何优化数据库端的一切

您还可以尝试分片和水平缩放

应用端
不要使用数据集,因为它们很重、体积大、速度慢,并且很难维护与数据库相同的数据副本。想想几个技巧:

  • 缓存用户搜索
  • 仅在输入 2 或 3 个符号后开始搜索
  • 在后台线程中运行搜索
  • 将搜索限制为前 20 个(或其他)
  • 确保从各种代码抽象中轻松搜索,使其变得简单
  • 优化您的搜索查询,SQL 操作的顺序很重要

基础设施

  • 检查您的连接速度,是否有可能提高它?
  • 将您的数据库尽可能靠近应用程序

关于c# - 在用户输入时加快记录过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6690248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com