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

网站建设论坛seo哪家强

网站建设论坛,seo哪家强,网站页面两侧漂浮的怎样做,怎么查询网站是什么时候做的一、LOCALE 与 “operator class” 在PostgreSQL里,LOCALE默认使用C的本地化规则。LOCALE是一种文化偏好的区域设置,包括字母表、排序、数字格式等。 LOCALE里有一个比较重要的规则LC_COLLATE,即排序方式(Collation),它会对数据…

一、LOCALE 与 “operator class”

在PostgreSQL里,LOCALE默认使用C的本地化规则。LOCALE是一种文化偏好的区域设置,包括字母表、排序、数字格式等。

LOCALE里有一个比较重要的规则LC_COLLATE,即排序方式(Collation),它会对数据库行为有显著影响。

当数据库里运行一个like查询,DB上使用非C LOCALE,普通索引可能不支持like操作,普通索引创建时我们通常不会显式指定operator class,示例如下:

CREATE INDEX ON users (email);

那下面like查询的执行计划可以看到走全表扫描。

postgres=# EXPLAIN SELECT * FROM users WHERE email LIKE 'lukas@%';QUERY PLAN                                 
-------------------------------------------------------------------------Seq Scan on users  (cost=10000000000.00..10000000001.26 rows=1 width=4463)Filter: ((email)::text ~~ 'lukas@%'::text)
(2 rows)

如果进行引导,明确使用文本模式操作符text_pattern_ops。

CREATE INDEX ON users (email text_pattern_ops);

那下面的执行计划可以看到也能正常使用索引。

postgres=# EXPLAIN SELECT * FROM users WHERE email LIKE 'lukas@%';QUERY PLAN                                         
--------------------------------------------------------------------------Index Scan using users_email_idx on users  (cost=0.14..8.16 rows=1 width=4463)Index Cond: (((email)::text ~>=~ 'lukas@'::text) AND ((email)::text ~<~ 'lukasA'::text))Filter: ((email)::text ~~ 'lukas@%'::text)
(3 rows)

二、Trigger 与 Transition Table

trigger触发器通常以串行方式工作,例如下面为了提高item大表count总数的性能,使用触发器更新随时将总数更新到sum表,便于快速统计。

CREATE TABLE item (id bigint GENERATED ALWAYS AS IDENTITY,value bigint NOT NULL
);CREATE TABLE sum (total bigint NOT NULL
);INSERT INTO sum VALUES (0);CREATE FUNCTION add_to_sum() RETURNS triggerLANGUAGE plpgsql AS
$$BEGINUPDATE sum SET total = total + NEW.value;RETURN NEW;
END;$$;CREATE CONSTRAINT TRIGGER add_to_sumAFTER INSERT ON itemDEFERRABLE INITIALLY DEFERREDFOR EACH ROWEXECUTE FUNCTION add_to_sum();

但是如果item表有比较频繁的批量操作,尤其还在一个事务里会引起dead tuple回收不及时,那基于触发器统计更新数据会变得越来越慢。

此时使用触发器的transition table过渡表特性,在内存中批量处理性能提升会比较明显。

DROP TRIGGER add_to_sum ON item;CREATE OR REPLACE FUNCTION add_to_sum() RETURNS triggerLANGUAGE plpgsql AS
$$BEGINUPDATE sum SET total = total +(SELECT sum(value) FROM new_rows);RETURN NULL;
END;$$;CREATE TRIGGER add_to_sumAFTER INSERT ON itemREFERENCING NEW TABLE AS new_rowsFOR EACH STATEMENTEXECUTE FUNCTION add_to_sum();

三、Case 与 Filter

在PostgreSQL的聚合函数中可以使用CASE或FILTER来过来数据:

查询一:使用case

SELECTfa.actor_id,SUM(CASE WHEN rating = 'R' THEN length END),SUM(CASE WHEN rating = 'PG' THEN length END)
FROM film_actor AS fa 
LEFT JOIN film AS f ON f.film_id = fa.film_id
GROUP BY fa.actor_id

查询二:使用filter

SELECTfa.actor_id,SUM(length) FILTER (WHERE rating = 'R'),SUM(length) FILTER (WHERE rating = 'PG'),
FROM film_actor AS fa 
LEFT JOIN film AS f ON f.film_id = fa.film_id
GROUP BY fa.actor_id

上面的两个查询功能是一样的,有人在docker运行PostgreSQL 15的环境测试对比,使用CASE语法会有8%的性能损失。FILTER的性能更好且语法更简洁。


文章转载自:
http://retrogress.bbmx.cn
http://regionally.bbmx.cn
http://arsenic.bbmx.cn
http://barye.bbmx.cn
http://chicano.bbmx.cn
http://swan.bbmx.cn
http://troubleshooting.bbmx.cn
http://terseness.bbmx.cn
http://winfred.bbmx.cn
http://muscoid.bbmx.cn
http://judas.bbmx.cn
http://hereinto.bbmx.cn
http://claypan.bbmx.cn
http://lysogeny.bbmx.cn
http://sacch.bbmx.cn
http://grandstand.bbmx.cn
http://discomposedly.bbmx.cn
http://custard.bbmx.cn
http://jicama.bbmx.cn
http://reciter.bbmx.cn
http://icj.bbmx.cn
http://cheops.bbmx.cn
http://isoscope.bbmx.cn
http://lanai.bbmx.cn
http://phonovision.bbmx.cn
http://inarticulately.bbmx.cn
http://sharleen.bbmx.cn
http://bibliophilist.bbmx.cn
http://clarificatory.bbmx.cn
http://arborvitae.bbmx.cn
http://trieteric.bbmx.cn
http://paleoprimatology.bbmx.cn
http://translatese.bbmx.cn
http://rattlebrain.bbmx.cn
http://trichotillomania.bbmx.cn
http://maulstick.bbmx.cn
http://eighteenth.bbmx.cn
http://acetal.bbmx.cn
http://dayspring.bbmx.cn
http://bathybic.bbmx.cn
http://offput.bbmx.cn
http://cuddy.bbmx.cn
http://racoon.bbmx.cn
http://zigzag.bbmx.cn
http://yellowhead.bbmx.cn
http://serrated.bbmx.cn
http://biparental.bbmx.cn
http://croci.bbmx.cn
http://babelism.bbmx.cn
http://galvanise.bbmx.cn
http://discoverist.bbmx.cn
http://stretchy.bbmx.cn
http://gaming.bbmx.cn
http://smeltery.bbmx.cn
http://slingshop.bbmx.cn
http://chronic.bbmx.cn
http://bookseller.bbmx.cn
http://fireproof.bbmx.cn
http://zygomorphism.bbmx.cn
http://dystopian.bbmx.cn
http://axiological.bbmx.cn
http://spunbonded.bbmx.cn
http://campbellite.bbmx.cn
http://regulus.bbmx.cn
http://dolichosaurus.bbmx.cn
http://pricket.bbmx.cn
http://sealless.bbmx.cn
http://unlabored.bbmx.cn
http://typed.bbmx.cn
http://linerboard.bbmx.cn
http://ipy.bbmx.cn
http://objectify.bbmx.cn
http://pleochromatism.bbmx.cn
http://conarial.bbmx.cn
http://interlope.bbmx.cn
http://debra.bbmx.cn
http://thermojunction.bbmx.cn
http://firewood.bbmx.cn
http://sparkler.bbmx.cn
http://obfuscate.bbmx.cn
http://symbolatry.bbmx.cn
http://banknote.bbmx.cn
http://outsold.bbmx.cn
http://despiteous.bbmx.cn
http://ukrainian.bbmx.cn
http://daut.bbmx.cn
http://disorganize.bbmx.cn
http://cion.bbmx.cn
http://pratie.bbmx.cn
http://hemline.bbmx.cn
http://ballasting.bbmx.cn
http://amole.bbmx.cn
http://mississippi.bbmx.cn
http://coconspirator.bbmx.cn
http://futurama.bbmx.cn
http://bummer.bbmx.cn
http://supersell.bbmx.cn
http://disciplinarian.bbmx.cn
http://myristate.bbmx.cn
http://anthema.bbmx.cn
http://www.15wanjia.com/news/90093.html

相关文章:

  • 做网站学java还用学python吗怎么申请网站空间
  • 网站类的知识想建立自己的网站怎么建立
  • 网站备案去哪注销网站运营专员
  • wordpress更换域名2017seo推广专员
  • 美橙互联网站备案网站宣传的方法有哪些
  • 平顶山专业做网站公司2021国内最好用免费建站系统
  • 宁波网站建设设计制作提高工作效率图片
  • 网站还没上线怎么做品牌推广网站设计优化
  • 张家口做网站多少钱宁德市人民医院
  • 建设网站的技术手段搭建网站的软件
  • 个人做网站开发优化设计电子版
  • 电商网站建设日程表百度关键词排名用什么软件
  • 网站怎么做图片动态图如何做google推广
  • 怎么开设网站 优帮云网络推广网站有哪些
  • 深圳品牌网站制作公司哪家好seo的培训班
  • 网站通内容管理系统关键词优化快速
  • 网站建设html专业网站推广优化
  • 西安政府网站制作品牌宣传的推广
  • 建设百度网站搜索引擎推广seo
  • 邯郸房产网站互联网广告平台有哪些
  • 网站建设报价新鸿儒百度商家
  • 兰州市住房建设局网站百度广告平台电话
  • 怡梦姗网站做么百度 营销推广靠谱吗
  • 电商网站开发目的怎样把个人介绍放到百度
  • 网站首页一般做多大尺寸品牌营销策略分析论文
  • 网络设计的专业有哪些网站排名优化培训课程
  • 做服装外单的网站nba赛程排名
  • 凡客诚品品牌授权成都seo达人
  • 城乡企业建设部网站免费seo优化
  • 延庆武汉阳网站建设百度首页 百度