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

网站域名 邮箱单页网站seo如何优化

网站域名 邮箱,单页网站seo如何优化,唐山网站建设开发,未来做那些网站能致富1、索引优化 索引可以显著加速查询操作,但过多或不适当的索引也会带来负面影响(如增加写入开销)。因此,选择合适的索引至关重要。 创建索引: 为经常用于WHERE子句、JOIN条件和ORDER BY排序的列创建索引。 CREATE I…

1、索引优化

索引可以显著加速查询操作,但过多或不适当的索引也会带来负面影响(如增加写入开销)。因此,选择合适的索引至关重要。

创建索引:

为经常用于WHERE子句、JOIN条件和ORDER BY排序的列创建索引。

CREATE INDEX idx_last_name ON employees (last_name);

复合索引:

如果多个列经常一起出现在查询条件中,考虑创建复合索引。

first_name, last_name复合索引,即使 where first_name 也会走复合索引,但是where last_name不行

CREATE INDEX idx_composite ON orders (customer_id, order_date);

覆盖索引:

确保索引包含所有需要返回的数据列,从而避免回表查找。

意思是索引里面是你需要查询的字段,比如product_name

CREATE INDEX idx_covering ON products (category_id, price, product_name);索引`first_name`, `last_name`即使last_name不是索引第一个,但是查询里面有last_name,所以走索引
如果查询字段存在索引里面没有的字段(不包括主键)则不会走索引
SELECT last_name FROM `123`.`Employees` WHERE last_name=''

索引维护:

定期分析和优化索引,删除不再使用的索引以减少不必要的开销。

2、查询优化

优化SQL查询可以帮助减少执行时间和资源使用。

避免全表扫描:

尽量使用索引来限制扫描范围,避免对大表进行全表扫描。

EXPLAIN  SELECT birth_date,first_name FROM Employees WHERE last_name=''

全表扫描

减少结果集大小:

只选择需要的字段,而不是使用SELECT *。

优化连接(JOIN):

确保参与连接的列上有适当的索引,并且尽可能缩小连接前的结果集。

SELECT o.order_id, c.customer_name 
FROM orders o JOIN customers c ON o.customer_id = c.customer_id 
WHERE o.status = 'shipped';

预过滤:在执行连接之前,尽可能地减少每个表中的行数。你可以通过添加更严格的WHERE子句条件来实现这一点。比如,如果只需要特定日期范围的数据,就在连接之前用WHERE子句限定日期范围。

示例:

场景描述:

在一个电子商务系统中,有orders(订单表)和products(商品表)。我们想要获取在过去一个月内购买了特定类别商品的所有订单详情。如果不进行预过滤,这将涉及到两个大表之间的全表扫描和连接。

SELECTo.order_id,p.product_name,o.order_date 
FROMorders oJOIN order_items oi ON o.order_id = oi.order_idJOIN products p ON oi.product_id = p.product_id 
WHEREo.order_date >= '2024-11-01' AND p.category = 'Electronics';

首先对products表按照商品类别进行预过滤,然后再执行连接操作。这样可以大大减少需要连接的数据量。

-- 用一个临时表做中间数据
WITH FilteredProducts AS (SELECTproduct_id,product_name FROMproducts WHEREcategory = 'Electronics'
)SELECTo.order_id,fp.product_name,o.order_date 
FROMorders oJOIN order_items oi ON o.order_id = oi.order_idJOIN FilteredProducts fp ON oi.product_id = fp.product_id 
WHEREo.order_date >= '2024-11-01';

分页:对于大型结果集,考虑使用分页技术来限制每次查询返回的行数。这对于前端展示大量数据尤其有用。

聚合:如果可能的话,在连接之前对数据进行聚合。这意味着可以在连接前就计算出统计信息,如SUM、COUNT等,从而减少连接操作的数据量。

示例:

场景描述:

假设有一个电子商务平台,其中有两个表——orders(订单表)和order_items(订单详情表)。orders表存储了每个订单的基本信息,而order_items表则记录了每个订单中购买的商品详情以及单价等信息。现在想要获取每个用户的总消费金额。

SELECTo.user_id,SUM( oi.quantity * oi.price ) AS total_spent 
FROMorders oJOIN order_items oi ON o.order_id = oi.order_id 
GROUP BYo.user_id;

首先在order_items表上根据order_id聚合出每个订单的总金额,然后再与orders表连接,并最终按用户ID分组计算总消费额:

WITH OrderTotals AS (SELECTorder_id,SUM( quantity * price ) AS order_total FROMorder_items GROUP BYorder_id
)SELECTo.user_id,SUM( ot.order_total ) AS total_spent 
FROMorders oJOIN OrderTotals ot ON o.order_id = ot.order_id 
GROUP BYo.user_id;

临时表或CTE(Common Table Expressions):有时将中间结果存储在临时表或使用公用表表达式(CTE)可以简化查询逻辑,并且允许你更早地应用过滤条件。

使用EXPLAIN分析查询计划:

通过EXPLAIN关键字查看MySQL如何执行查询,识别潜在问题。

EXPLAIN SELECT * FROM orders WHERE order_date > '2024-01-01';

3、缓存

大部分没有应用场景,命中率不高,消耗内存

利用缓存机制可以减少重复查询数据库的次数,降低负载。

查询缓存(Query Cache)

虽然MySQL 8.0版本之后官方已经移除了内置查询缓存功能,但在某些场景下仍可以通过第三方工具实现类似效果。

应用级缓存

在应用程序层面使用Redis、Memcached等内存存储来缓存频繁访问的数据。

4、硬件优化

硬件升级可以直接影响数据库性能。

**增加内存:**更多的RAM意味着更大的缓冲池(InnoDB Buffer Pool),从而减少磁盘I/O。

**SSD硬盘:**相比于传统HDD,固态硬盘(SSD)提供更快的读写速度,尤其适合随机访问模式。

**多核CPU:**对于高并发工作负载,多核心处理器能够更好地处理并发请求。

5、数据库参数调整

根据具体的使用场景调整MySQL配置参数,可以进一步提升性能。

innodb_buffer_pool_size:

设置InnoDB存储引擎使用的缓存大小,默认值通常是物理内存的70%-80%。

query_cache_size:

配置查询缓存(Query Cache)大小的参数,虽然MySQL 8.0后不再支持,但对于老版本,可以根据实际情况设置查询缓存大小。

max_connections:

根据预期的最大并发连接数调整最大连接数限制。

thread_cache_size:

设置线程缓存大小,以快速响应新连接。

http://www.hrbkazy.com/news/52445.html

相关文章:

  • 创意广告视频网站如何设计一个网页
  • 动态网站开发典型案例企业网站的网络营销功能
  • 杭州做网站 做小程序个人网站制作
  • 做淘宝美工图片网站软文营销什么意思
  • wordpress 绿色深圳网站优化公司哪家好
  • 企业网站自己可以做吗网络营销推广是做什么的
  • 简述电子商务网站的开发流程35个成功的市场营销策划案例
  • 惠州做企业网站的新手seo要学多久
  • 想在百度上做网站广东seo快速排名
  • 有代源码怎么做自己网站软件外包公司好不好
  • 做免费的视频网站可以赚钱吗宁波seo网站推广
  • pc 移动端网站建设深圳网站设计公司
  • 毕设做网站心得体验新网站推广最直接的方法
  • 网站seo收费长沙seo网站排名
  • 微企帮做网站52种新颖的促销方式
  • 怎么查看网站访问速度十大管理培训课程
  • 一品威客网兼职平台关键词排名优化公司
  • wordpress创建用户seo技术建站
  • 杭州建设委员会网站成都网站建设seo
  • 建设公司自己的网站seo点击排名
  • 怎样低成本做网站推广点击宝seo
  • 昌平做网站公司百度店铺注册
  • 网站建设与运营的课程总结百度一下网页入口
  • 做mad的素材网站今日中国新闻
  • 独立站有哪些常见平台外国黄冈网站推广平台
  • 微信网站开发价格外贸企业网站设计公司
  • 做仿站如何获取网站源码产品软文撰写
  • 池州有哪些做网站的免费的网站推广软件下载
  • 杭州网站建设朗诵面朝百度搜索智能精选入口
  • 哪些客户需要做网站招聘网络营销推广人员