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

偃师建设局网站wordpress 修改密码

偃师建设局网站,wordpress 修改密码,wordpress百度站长主动推送,wordpress 快速发布基数#xff08;cardinality#xff09; 表中某个列的唯一键的数量叫做基数#xff0c;主键列的基数就是表中数据的总行数。 可以用select count(distinct 列名) from 表名来计算基数。 基数的高低影像列的数据分布。 例如#xff1a;先用Scott账户创建一个测试表test …基数cardinality 表中某个列的唯一键的数量叫做基数主键列的基数就是表中数据的总行数。 可以用select count(distinct 列名) from 表名来计算基数。 基数的高低影像列的数据分布。 例如先用Scott账户创建一个测试表test create table test as select * from dba_objects owner列和object_id的基数如下所示 select count(distinct owner),count(distinct object_id),count(*) from test 可以看出owner列的基数很小再查询一下owner列的分布 可以看出owner列数据分布极不均匀所以基数的大小代表数据分布情况。 选择性selectivity 选择性是某列的基数除以表数据的总行数在乘以100%计算出的值代表该列数据分布均不均衡。 数据均衡分布是指该列基数中的值的条数大多在同一数量级上或者最多与最少的数量级相差不大例如主键列各值的条数都是1。 要查看选择性首先要对test表收集统计信息 begindbms_stats.gather_table_stats(ownname SCOTT,tabname TEST,estimate_percent 100,method_opt for all columns size 1,no_invalidate false,degree 1,cascade true); end; --method_opt传入for all columns size 1代表不收集直方图 查看选择性column_name为各列名称num_rows为总行数selectivity列即为选择性cardinality为基数 select a.column_name,b.NUM_ROWS,a.num_distinct cardinality,round(a.num_distinct / b.NUM_ROWS * 100, 2) selectivity,a.HISTOGRAM,a.num_bucketsfrom dba_tab_col_statistics a, dba_tables bwhere a.owner b.OWNERand a.table_name b.TABLE_NAMEand a.owner SCOTTand a.table_name TEST; 一般来说选择性大于20该列数据比较均衡适合建立索引 直方图histogram 直方图是一种对数据分布情况进行描述的工具。它会按照某一列不同值出现数量多少以及出现的频率高低来绘制数据的分布情况以便能够指导基于成本的优化器CBO根据数据的分布做出正确的选择。如果没有对基数低的列收集直方图信息CBO会认为该列数据均衡分布从而会影响CBO使用索引扫描还是全表扫描的决策也就是影响SQL的执行计划。 这个图的histogram列代表了是否收集直方图NONE就是没有收集。执行以下程序对owner列收集直方图 begindbms_stats.gather_table_stats(ownname SCOTT,tabname TEST,estimate_percent 100,method_opt for columns owner size skewonly,no_invalidate false,degree 1,cascade true); end; --for columns owner size skewonly对owner列收集也可以对其他基数低的列收集 --method_opt传入for all columns size 1代表不收集直方图 现在看出owner的直方图已经被收集了,对owner列收集直方图相当于执行 select owner,count(*) from test group by owner 然后将结果保存在shared_pool的数据字典中CBO硬解析SQL时会参考数据字典的数据。 对于基数很低选择性很低的列强烈建议收集直方图。 数据块data block 数据块是oracle数据库存储的最小逻辑单元数据块为2k、4k、8k、16k、32k等默认块大小是8k可以通过以下语句查询 select bytes/blocks,f.* from dba_data_files f; 通过首列可以看出该数据库的块大小为8k。 逻辑读/物理读consistent gets/physical reads Oracle数据库读写的基本单位是数据块。当用户最终得到的结果可能只是某个数据块中的几行或几列。 物理读 当一个查询语句被执行时Oracle服务器进程会将相关的数据块从磁盘的数据文件中加载到内存中的一块区域(buffer cache)。这个过程就叫做物理读。每读取一个数据块即是一次物理读。物理读是真正操作磁盘IO速度很慢。 逻辑读将数据从buffer cache内存读取到PGA中之后再返回给用户的过程。 由于内存中操作较快所以得出同等数据量逻辑读速度明显优于物理读在SQL优化过程中要减少物理读次数。 索引index 索引是一种用于提高数据检索速度的数据库对象。对一个列创建索引索引会包含该列键值以及对应行的rowidrowid是行的唯一标识。 索引一般有两种数据结构B树和位图。 按类型分为普通索引唯一索引主键也是一种唯一索引。 创建一个索引用以下语句可以支持多列创建索引又叫组合索引 create index 索引名 on 表名(列名1,...列名n..) SQL执行计划SQL plan 执行计划是对SQL执行的过程解析执行计划显示了数据库如何处理SQL包括数据的检索顺序、使用的索引、连接类型以及数据的处理方式等。通过执行计划可以看出SQL语句是怎么执行的有没有按照预计的方案执行有没有按照最高效的方式执行。 select * from test where ownerSCOTT 对以上SQL解释执行计划得到下图 由于这个SQL比较简单所以执行计划也很简单只需要一步操作全表扫描TABLE ACCESS FULL就可以检索出数据。 现在对owner列创建索引 create index idx_test_owner on test(owner) 再次查看执行计划 因为我们对owner列已经收集过统计信息CBO知道了该列的分布情况使用了索引范围扫描INDEX RANGE SCAN并且少量回表取得数据。如果没有收集过统计信息CBO认为该列是均匀分布的很有可能会走全表扫描。 单条回表/批量回表 通过索引中的rowid再去访问表中的数据叫做回表回表分单条和批量 在执行计划中分别对应 TABLE ACCESS BY INDEX ROWID TABLE ACCESS BY INDEX ROWID BATCHED 这个图中就存在单条回表不过这里回表次数很少性能影响比较小。 如果是大量单条回表并且数据没有被缓存在buffer cache里将会产生大量的物理读会有严重的性能问题。在SQL优化中要尽量消除单条回表。 批量回表改善了单条回表的性能问题但出现次数仍不宜过多。 总结 SQL优化涉及概念较多需要不懂的概念及时查阅理解。
http://www.tj-hxxt.cn/news/226162.html

相关文章:

  • 个人备案门户网站开发公司回迁房视同销售会计处理
  • 电子商务网站建设a卷高校网站建设工作总结
  • 嘉鱼网站建设多少钱wordpress进管理员密码
  • 网站建设大忌济南最好的网站制作公司
  • 做地图的网站网络营销渠道名词解释
  • 网站建设工作计划表有哪些网站可以免费看电影
  • 廊坊网站关键词排名抖音代运营网
  • jsp网站开发总结马云做中国最大的网站
  • 想制作一个网站要多少钱四川网站建设seo
  • 龙岩网站建设方案优化个人电脑搭建云服务器
  • 网站首页图片轮转怎么建设在线视频网站
  • 企业做网站的流程用表格做的网站
  • 九龙坡建站公司沈阳免费seo关键词优化排名
  • 成都网站建设思乐科技公司太原网站制作网页
  • 网站备案查询网址网站开发系统设计怎么写
  • 购买的网站平台建设服务计入微信链接的微网站怎么做
  • 建设分销网站百度关键词推广价格查询
  • 东莞企业网站推广技巧可以做围棋习题的网站
  • 做外贸进大公司网站设计一套网页要多少钱
  • 中英文网站建设燕郊的大型网站建设
  • 搜索引擎营销的方式苏州百度 seo
  • 网站封面制作网站加地图标记
  • 汕头教育的网站建设中天建设第四网站
  • 临沂酒店建设信息网站小型办公室网络组建
  • 网站制作优质公司网站安全建设 需求分析
  • 专业网站设计学校企业营销型网站建设厂家
  • 网站位置导航wordpress wpml 下载
  • 模特公司网站模板重庆点优建设网站公司
  • 简单个人网站网页设计色彩搭配
  • asp做的静态网站卡不卡网站做了301重定向域名会自动跳转吗