Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304416
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站网址导航为大家提供关于数据库教程相关的教程网站知识。

磁盘数据缓存专题之一 数据缓存命中和数据缓存未命中数据缓存与缓冲间的差异nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

本篇主题如下:,数据缓存命中和数据缓存未命中,数据缓存与缓冲间的差异,数据缓存命中和数据缓存未命中,当I / O操作办法开始从磁盘数据缓存而不是从非易失存储中检索数据时,(如磁盘设备或子系统)数据缓存命中发生。除了提供来自内存的快速响应之外,数据缓存命中还缩短了I / O路径的距离。如图所示。,另一种情况是,虽然搜索了数据缓存,但没有发现数据,因此数据必须从非易失存储读取,这就是数据缓存未命中。由于搜索数据缓存时需要花费时间,所以数据缓存未命中增加了I / O操作办法的时间。数据缓存未命中工作过程如图所示:,假如如果数据缓存实现不理想,将产生很高的未命中率,由于每次数据缓存未命中都需要花费额外的时间,所以导致系统性能的下降。用于描述数据缓存相对精确度的术语叫数据缓存命中率,数据缓存命中率是数据缓存命中数除以I / O请求总数所得的结,数据缓存与缓冲间的差异,“数据缓存”和“内存”有时可以互换使用。然而,磁带驱动器中的内存通常并不是数据缓存,而是缓冲。虽然它们的物理组成是一样的,但缓冲只起临时存储数据的作用,由此数据从一个位置或设备传到另一个位置或设备。一般地,缓,另一方面,数据缓存内存由一个或更多的系统算法所控制,这些算法在一个长时间里维护和管理着内存资源,数据缓存的数据可以长时间地保存在数据缓存中。,在协调性能有差异的控制器和设备工作方面,缓冲常常能够发挥作用,这种相关方式的缓冲可以看作是某种转换器。主机I / O控制器上的芯片可以快速地通过I / O路径传输数据,它们的性能可以达到纳秒级,而对于磁盘,数据缓存算法既可以在主机软件中实现,也可以在存储子系统或在主机控制器中实现。当数据缓存由一块电子线路实现时,它被称为数据缓存控制器,除了管理磁盘数据缓存内存中的内容外,它还可以控制子系统中的磁盘操作办法,这些操作办法的细节是,之前在社区发布了一系列的文章,后来因为图片问题,很多的文章无法看了,朋友都反应了这个问题,现在发布出来,持续的更新,请大家顶起来 :,按需下载 打包下载 作者:小洋,燕洋天nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

1.1.1 摘要

在开发过程中,咱们不时会遇到系统性能瓶颈问题,而引起这一问题原因可以很多,有可能是具体相关代码不够高效、有可能是硬件或网络问题,也有可能是网站数据库设计的问题。nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

本篇博文将针对一些经常用的的网站数据库性能调休具体相关方法进行介绍,而且,为了编写高效的SQL具体相关代码,咱们需要掌握一些基本具体相关代码网站seo优化的技巧,所以,咱们将从一些基本网站seo优化技巧进行介绍。nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

本文目录

具体相关代码中的问题
网站数据库性能开销
使用存储过程
使用网站数据库事务
使用SqlBulkCopy
使用表参数

1.1.2 正文

假设,咱们要设计一个博客系统,其中包含一个用户表(User),它用来存储用户的账户名、密码、显示名称和注册日期等信息。nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

由于时间的关系,咱们已经把User表设计好了,它包括账户名、密码(注意:这里没有考虑隐私信息的加密存储)、显示名称和注册日期等,具体设计如下:

nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

复制具体相关代码 具体相关代码如下:nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


-- =============================================
-- Author: JKhuang
-- Create date: 7/8/2012
-- Description: A table stores the user information.
-- =============================================
CREATE TABLE [dbo].[jk_users](
-- This is the reference to Users table, it is primary key.
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[user_login] [varchar](60) NOT NULL,
[user_pass] [varchar](64) NOT NULL,
[user_nicename] [varchar](50) NOT NULL,
[user_email] [varchar](100) NOT NULL,
[user_url] [varchar](100) NOT NULL,

-- This field get the default from function GETDATE().
[user_registered] [datetime] NOT NULL CONSTRAINT [DF_jk_users_user_registered] DEFAULT (getdate()),
[user_activation_key] [varchar](60) NOT NULL,
[user_status] [int] NOT NULL CONSTRAINT [DF_jk_users_user_status] DEFAULT ((0)),
[display_name] [varchar](250) NOT NULL
)
nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

图2 数据写入Users表

为了使网站数据库获得更快的写入速度,咱们必须了解网站数据库在进行写入操作办法时的主要耗时。

网站数据库性能开销
连接时间
当咱们执行conn.Open()时,首先,必须建立物理通道(例如套接字或命名管道),必须与站点服务器进行初次握手,必须分析连接字符串信息,必须由站点服务器对连接进行身份验证,必须运行检查以便在当前事务中登记,等等

这一系列操作办法可能需要一两秒钟时间,假如如果咱们每次执行conn.Open()都有进行这一系列操作办法是很耗费时间的,为了使打开的连接成本最低,ADO.NET使用称为连接池的网站seo优化具体相关方法。

连接池:减少新连接需要打开的次数,只要用户在连接上调用 Open()具体相关方法,池进程就会检查池中是否有可用的连接,假如如果某个池连接可用,那么将该连接返回给调用者,而不是创建新连接;应用程序在该连接上调用 Close()或Dispose() 时,池进程会将连接返回到活动连接池集中,而不是真正关闭连接,连接返回到池中之后,即可在下一个 Open 调用中重复使用。

解析器的开销
当咱们向SQL Server传递SQL数据库语句INSERT INTO …时,它需要对SQL数据库语句进行解析,由于SQL Server解析器执行速度很快,所以解析时间往往是可以忽略不计,但咱们仍然可以通过使用存储过程,而不是直SQL数据库语句来减少解析器的开销。

网站数据库连接
为了提供ACID(事务的四个特性),SQL Server必须确保所有的网站数据库更改是有序的。它是通过使用锁来确保该网站数据库插入、删除或更新操作办法之间不会相互冲突(关于网站数据库的锁请参考这里)。

由于,大多数网站数据库都是面向多用户的环境,当咱们对User表进行插入操作办法时,也许有成千上百的用户也在对User表进行操作办法,所以说,SQL Server必须确保这些操作办法是有序进行的。

那么,当SQL Server正在做所有这些事情时,它会产生锁,以确保用户获得有意义的结果。SQL Server保证每条数据库语句执行时,网站数据库是完全可预测的(例如:预测SQL执行相关方式)和管理锁都需要耗费一定的时间。

约束处理
在插入数据时,每个约束(如:外键、默认值、SQL ChECK等)需要额外的时间来检测数据是否符合约束;由于SQL Server为了保证每个插入、更新或删除的记录都符合约束条件,所以,咱们需要考虑是否应该在数据量大的表中增加约束条件。

Varchar
VARChAR是网站数据库经常用的的类型,但它也可能导致意想不到的性能开销;每次咱们存储可变长度的列,那么SQL Server必须做更多的内存管理;字符串可以很容易地消耗数百字节的内存的,假如如果咱们在一个VARChAR列中设置索引,那么SQL Server执行B-树搜索时,就需要进行O(字符串长度)次比较,然而,整数字段比较次数只受限于内存延迟和CPU频率。

磁盘IO
SQL Server最终会将数据写入到磁盘中,首先,SQL Server把数据写入到事务日志中,当执行备份时,事务日志会合并到永久的网站数据库网站网站文件中;这一系列操作办法由后台完成,它不会影响到数据查询的速度,但每个事物都必须拥有属于自己的磁盘空间,所以咱们可以通过给事务日志和主数据网站网站文件分配独立的磁盘空间减少IO开销,当然,最好解决办法是尽可能减少事务的数量。

正如大家所看到的,咱们通过网站seo优化联接时间、 解析器的开销、 网站数据库联接、约束处理,、Varchar和磁盘IO等具体相关方法来网站seo优化网站数据库,接下来,咱们将对前面的例子进行进一步的网站seo优化。

使用存储过程
前面例子中,咱们把SQL具体相关代码直接hardcode在客户端具体相关代码中,那么,网站数据库就需要使用解析器解析客户端中SQL数据库语句,所以咱们可以改用使用存储过程,从而,减少解析器的时间开销;更重要的一点是,由于SQL是动态执行的,所以咱们修改存储过程中的SQL数据库语句也无需重新编译和发布程序。

User表中的字段user_registered设置了默认值(GETDATE()),那么咱们通过消除表默认值约束来提高系统的性能,简而言之,咱们需要提供字段user_registered的值。

接下来,让咱们省去User表中的默认值约束和增加存储过程,具体具体相关代码如下:
nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

复制具体相关代码 具体相关代码如下:nBIAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。

标签:

分享到:

  网友投稿

注册时间:

网站:0 个   APP:0 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304416

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市