当前位置: 首页 > wzjs >正文

国外设计网站欣赏正规seo大概多少钱

国外设计网站欣赏,正规seo大概多少钱,广州建设网站企业,wordpress换鼠标样式#新星杯14天创作挑战营第9期# 前言 近期发现以前开发的系统运行缓慢,经排查,发现有很大的优化空间。数据库版本使用的是sql server,主要有以下一些问题点:数据表无索引、一些不规范的写法(例如in、大表关联&#xff0…

#新星杯·14天创作挑战营·第9期#

前言

近期发现以前开发的系统运行缓慢,经排查,发现有很大的优化空间。数据库版本使用的是sql server,主要有以下一些问题点:数据表无索引、一些不规范的写法(例如in、大表关联)等。优化起来比较费时、费力,以下是一些心得体会。


1. 合理设计索引

  • 选择合适的列创建索引
    • 为经常用于 WHERE 子句、JOIN 条件和 ORDER BY 子句的列创建索引。例如,如果经常根据 Customers 表的 CustomerName 列进行查询,那么可以为该列创建索引:
CREATE INDEX idx_CustomerName ON Customers (CustomerName);
  • 创建复合索引
    • 当查询中经常同时使用多个列进行筛选时,创建复合索引可以提高查询效率。复合索引的列顺序很重要,应该将选择性高的列放在前面。例如,对于经常根据 OrderDateCustomerID 进行查询的 Orders 表,可以创建复合索引:
CREATE INDEX idx_OrderDate_CustomerID ON Orders (OrderDate, CustomerID);
  • 避免创建过多索引
    • 虽然索引可以提高查询性能,但过多的索引会增加数据插入、更新和删除操作的开销,同时也会占用更多的磁盘空间。因此,只创建必要的索引。

2. 优化查询语句

  • 使用覆盖索引
    • 覆盖索引是指查询所需要的所有列都包含在索引中,这样可以避免回表操作,提高查询性能。例如,如果有一个复合索引 idx_OrderDate_CustomerID 包含 OrderDateCustomerID 列,而查询只需要这两列的数据:
SELECT OrderDate, CustomerID FROM Orders WHERE OrderDate > '2023-01-01';
  • 避免在索引列上使用函数
    • 在索引列上使用函数会导致索引失效,从而降低索引命中率。例如,以下查询会使 OrderDate 列的索引失效:
SELECT * FROM Orders WHERE YEAR(OrderDate) = 2023;
- 可以将查询改写为:
SELECT * FROM Orders WHERE OrderDate >= '2023-01-01' AND OrderDate < '2024-01-01';
  • 使用参数化查询
    • 参数化查询可以避免 SQL 注入攻击,同时也有助于 SQL Server 重用查询计划,提高索引命中率。在应用程序中使用参数化查询,例如在 C# 中使用 ADO.NET:
using (SqlConnection connection = new SqlConnection(connectionString))
{string query = "SELECT * FROM Customers WHERE CustomerName = @CustomerName";SqlCommand command = new SqlCommand(query, connection);command.Parameters.AddWithValue("@CustomerName", "John Doe");connection.Open();SqlDataReader reader = command.ExecuteReader();// 处理结果
}

3. 维护索引

  • 定期重建和重新组织索引
    • 随着数据的插入、更新和删除操作,索引可能会变得碎片化,影响索引的性能。可以定期重建或重新组织索引来提高索引的效率。例如,使用 ALTER INDEX 语句重建索引:
ALTER INDEX idx_CustomerName ON Customers REBUILD;
  • 更新统计信息
    • SQL Server 使用统计信息来生成查询计划。随着数据的变化,统计信息可能会过时,导致查询计划不合理。可以定期更新统计信息:
UPDATE STATISTICS Customers;

4. 监控和分析

相关参考网址:
sql server数据库查询性能优化
Sqlserver查询死锁语句

  • 使用 SQL Server Profiler 或 Extended Events

    • 可以使用 SQL Server Profiler 或 Extended Events 来捕获和分析查询执行情况,找出索引命中率低的查询,并进行优化。
  • 查看查询执行计划

    • 通过查看查询执行计划,可以了解 SQL Server 是如何执行查询的,是否使用了索引,以及索引的使用效率。可以使用 SQL Server Management Studio 中的“显示估计的执行计划”或“包括实际的执行计划”功能来查看查询执行计划。

总结

以上是一些提高索引命中率的方法,纯粹个人总结相关。如果你有什么更好的方法,欢迎指导和交流。

http://www.dtcms.com/wzjs/222006.html

相关文章:

  • 定制网站制作公司哪家好重庆seo扣费
  • 北京公司网站建设推荐写软文用什么软件
  • 南沙网站建设百度关键词热度查询
  • 南京h5网站建设六种常见的网站类型
  • 网页设计策划厦门seo网站管理
  • 网站做扫一扫济南seo全网营销
  • 网站建设的书籍有哪些怎么提高百度关键词排名
  • 网站qq联系怎么做网上有卖网站链接的吗
  • 商丘网站建设.comseo排名优化工具
  • 如何建设网站24小时接单手把手教你优化网站
  • 网站建设案例 优帮云关键词列表
  • 郑州市做网站互联网销售是做什么的
  • 高职示范校建设专题网站2023年新闻小学生摘抄
  • 杭州网站建设哪家权威优化模型的推广
  • 竞价排名服务seo关键词推广多少钱
  • 网站 建设 现状分析网站查询备案信息
  • 汕头网站定制微信营销推广的方式有哪些
  • 网站设计网站项目流程网络推广网站公司
  • 风铃上做的网站发布时号码填写seo网站优化技术
  • 深圳网站制作公司价位惠州seo关键字优化
  • 房地产趋势与前景seo科技网
  • 房地产培训网站建设微信视频号怎么推广引流
  • 临清网站建设临清产品软文范例500字
  • webapp开发重庆seo公司
  • wordpress素材下载站网球排名即时最新排名
  • php https网站开发seoul怎么读
  • 双语网站建设郑州推广优化公司
  • 网站建设详细报价单互联网营销推广
  • 免费信息发布网站有哪些小姐关键词代发排名
  • 开网站平台需要多少钱广告联盟代理平台