데이터 베이스 MySQL 튜토리얼 数据库管理员制胜之宝_MySQL

数据库管理员制胜之宝_MySQL

Jun 01, 2016 pm 02:06 PM
sql 할 수 있다 저장 데이터 베이스 관리자 프로세스

数据库的调整和优化可能是一个数据库管理员的最主要也是最关键的任务之一。
遗憾的是,对像SQL Server这样的数据库进行调整和性能调节并不是一件容易的事。SQL Server带有几种监控和调试工具,功能强大,但精通掌握十分困难。

数据库管理员制胜之宝_MySQL
图1 Coefficient类似Profiler

然而,现在有了Coefficient。它是Intrinsic Design公司发布的新产品,对初学者和有经验的数据库管理员都适用。Coefficient可以帮助加强SQL Server的性能调节,提高操作员监控SQL Server内部工作的能力。最有用处的是,它能把监控数据以几乎所有的数据库管理员都可以理解的格式呈列出来。
Coefficient并不是Performance Monitor, Query Analyzer或者Profiler的完全替换品。Coefficient更像加强的SQL Server Profiler。它的工作方式十分类似于Profiler,但比Profiler更为容易使用和理解。(如图1)

Coefficient运行过程
Coefficient可以安装在SQL Server服务器上,也可以安装在任何通过网络联结在SQL Servers上的计算机上。安装十分简单,安装完毕就可立即进行监控工作了。一般来说,按下列步骤进行:
首先在主页面上增加一个SQL Server,就像使用Enterprise Manager注册一个SQL Server一样。
在列表上选择一个想要分析的数据库,然后建立一个跟踪,即通常所说的Trace,有点像用SQL Server Profiler建立的跟踪文件,但是比它更容易操作:不必经过多少如Events、Data Columns和Filters之类的复杂工作。替而代之的是一种逐级的向导,只需要设置几个简单的参数即可完成,包括指定Trace表名(Coefficient用来存储跟踪数据的SQL Server表)、设置Trace运行时间(试用版最多只能运行20分钟)、设置分析是否在Trace结束之后立即执行,等等。
如果选择在Trace完成之后立即运行分析(Analysis),还需要指定分析文件存储的地方和运行分析的类型,这些常常是通过选择模板完成的,也就是说,模板(Template)是用来指定想要执行的分析的具体类型。
完成向导,Trace就开始了,一直运行到指定的时间跑完为止(如图2)。在这期间,监控所得到的数据保存在SQL Server中指定的Trace表中。随后可以立即进行Analysis,用户也可以在任何时候对Trace表中的监控数据进行多种分析。
分析的结果保存为很多HTML文件,用户可以方便地打开并点击查看各项内容。更重要的是,分析结果能方便地发布在内部网的网络服务器上,供多个用户使用浏览器进行查阅。

Analysis是Coefficient的关键
在介绍分析结果之前,让我们先了解模板(Template)和分析(Analysis)类型。当用Coefficient执行分析时,可以选择一个已预定义好的模板,也可以建立自己的模板。实际上,模板就是一个很多分析类型的列表,建立模板就是选择需要进行的分析对象。通过这个列表,Coefficient处理从数据库中收集的跟踪数据。Coefficient总共可以分析多达49种不同的指标,这些指标都和SQL Server内部工作有关。主要有以下典型性能分析:
客户中断请求和中断连接信息。通过attention events常常可以查出在客户端和服务器之间的通讯问题。
数据库管理员制胜之宝_MySQL
SQL Server和NT用户连接信息。例如哪个用户连接了多长时间。
死锁次数及导致这些死锁的信息。
SQL Server错误和警告信息。
表统计的遗漏信息。可以帮助确定统计是否存在任何遗漏,这些信息可以用来优化查询,提高执行程序代码的速度。
数据库管理员制胜之宝_MySQL
图3 选择模板和分析项目

SQL语句是否执行和SQL Prepare/Execute模型。运用这些模型常常可以加快重复执行SQL代码的速度。
执行计划重复使用的频率。
存储过程再编译的频率。
存储程序和SQL语句的调用情况。包括持续时间、读和写的次数,等等。
SQL Server超时次数。

一个Coefficient实例
假设要分析数据库中的存储过程的性能,并确定存储过程的最大共同点。当调整一个数据库时,最好的解决办法之一就是确定哪个存储过程运行最频繁,而后对这些存储过程进行优化。即使只使一个存储过程减少了三分之一的运行时间,如果一天需要运行10,000次这个存储过程,那也是一个可喜的成绩。
首先建立一个Trace,选择SPSQL模板进行分析。SPSQL模板可以提供很多数据,但是我们仅仅对哪个存储过程运行最频繁感兴趣,所以只需选择Stored Procedure Call Frequency report(SPSQL模板的一个部分)。
依照上述步骤进行即可生成监控报告,报告里既有表格也有图例,在表格里以存储过程运行的频率大小排序,图例就显示在表的上面(如图3)。
数据库管理员制胜之宝_MySQL
图4 分析报告

从图中,很容易就能得知哪个存储过程运行频繁。在这个例子中,存储过程名字是pcGet_SJZH_NJ,在Trace周期内被调用682次。从表格中还能得到更多关于存储过程的信息,例如平均持续时间(毫秒)、平均数量、读写次数和CPU平均占用率等等。
Coefficient的另一个特色是可以提供更多的详细信息。例如,假定我们想要了解pcGet_SJZH_NJ过程的详细信息,就可以点击名字打开另一个页面查看更多具体数据,在接下来的页面上能看到常规统计信息、持续时间统计、读取统计、记录统计、CPU统计、存储过程引用和存储过程的源代码(如图4)。另外,还可以点击“Execution plan”查看存储过程的执行计划。需要强调的是,提供的信息很详细,不仅可以查看到发送给存储过程的数据,也可以看到存储过程的参数,以及执行计划(Execution plan)。

嵌入报告中的帮助信息
Coefficient产生的数据比较多,用户可能会担心弄不清这些数据到底表示什么,怎样才能利用它们进行数据库性能调整。其实担心大可不必,在每篇分析报告的下面都有大篇幅的关于数据含义的总体说明。这些说明并不涉及产生的具体数据,但有很多关于数据库性能优化的基础知识。从某种意义上说,Coefficient本身就是一本SQL Server数据库优化手册。

Coefficient的适用人群
Coefficient对SQL Server程序员和数据库管理员都很有用。程序员可以把它用在基于SQL Server的应用软件的开发过程和测试过程中,而数据库管理员会觉得有益于调整已开发出来的应用软件,因为数据库随时间不断变化,数据库管理员们能使用Coefficient即时查看数据库内部的运行情况。最常用的是用Coefficient定义数据库各个性能方面的基准,然后比较不同周期的分析结果,借以了解数据库的运行情况。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Hibernate 프레임워크에서 HQL과 SQL의 차이점은 무엇입니까? Hibernate 프레임워크에서 HQL과 SQL의 차이점은 무엇입니까? Apr 17, 2024 pm 02:57 PM

HQL과 SQL은 Hibernate 프레임워크에서 비교됩니다. HQL(1. 객체 지향 구문, 2. 데이터베이스 독립적 쿼리, 3. 유형 안전성), SQL은 데이터베이스를 직접 운영합니다(1. 데이터베이스 독립적 표준, 2. 복잡한 실행 파일) 쿼리 및 데이터 조작).

Hibernate는 어떻게 다형성 매핑을 구현합니까? Hibernate는 어떻게 다형성 매핑을 구현합니까? Apr 17, 2024 pm 12:09 PM

Hibernate 다형성 매핑은 상속된 클래스를 데이터베이스에 매핑할 수 있으며 다음 매핑 유형을 제공합니다. Join-subclass: 상위 클래스의 모든 열을 포함하여 하위 클래스에 대한 별도의 테이블을 생성합니다. 클래스별 테이블: 하위 클래스별 열만 포함하는 하위 클래스에 대한 별도의 테이블을 만듭니다. Union-subclass: Joined-subclass와 유사하지만 상위 클래스 테이블이 모든 하위 클래스 열을 통합합니다.

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. Jul 18, 2024 am 05:48 AM

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

MySQLi를 사용하여 PHP에서 데이터베이스 연결을 설정하는 방법: MySQLi 확장 포함(require_once) 연결 함수 생성(functionconnect_to_db) 연결 함수 호출($conn=connect_to_db()) 쿼리 실행($result=$conn->query()) 닫기 연결( $conn->close())

PHP에서 데이터베이스 연결 오류를 처리하는 방법 PHP에서 데이터베이스 연결 오류를 처리하는 방법 Jun 05, 2024 pm 02:16 PM

PHP에서 데이터베이스 연결 오류를 처리하려면 다음 단계를 사용할 수 있습니다. mysqli_connect_errno()를 사용하여 오류 코드를 얻습니다. 오류 메시지를 얻으려면 mysqli_connect_error()를 사용하십시오. 이러한 오류 메시지를 캡처하고 기록하면 데이터베이스 연결 문제를 쉽게 식별하고 해결할 수 있어 애플리케이션이 원활하게 실행될 수 있습니다.

Golang을 사용하여 원격 데이터베이스에 연결하는 방법은 무엇입니까? Golang을 사용하여 원격 데이터베이스에 연결하는 방법은 무엇입니까? Jun 01, 2024 pm 08:31 PM

Go 표준 라이브러리 데이터베이스/sql 패키지를 통해 MySQL, PostgreSQL 또는 SQLite와 같은 원격 데이터베이스에 연결할 수 있습니다. 데이터베이스 연결 정보가 포함된 연결 문자열을 생성합니다. sql.Open() 함수를 사용하여 데이터베이스 연결을 엽니다. SQL 쿼리 및 삽입 작업과 같은 데이터베이스 작업을 수행합니다. 리소스를 해제하기 위해 defer를 사용하여 데이터베이스 연결을 닫습니다.

Golang에서 데이터베이스 콜백 함수를 사용하는 방법은 무엇입니까? Golang에서 데이터베이스 콜백 함수를 사용하는 방법은 무엇입니까? Jun 03, 2024 pm 02:20 PM

Golang의 데이터베이스 콜백 기능을 사용하면 다음을 달성할 수 있습니다. 지정된 데이터베이스 작업이 완료된 후 사용자 정의 코드를 실행합니다. 추가 코드를 작성하지 않고도 별도의 함수를 통해 사용자 정의 동작을 추가할 수 있습니다. 삽입, 업데이트, 삭제, 쿼리 작업에 콜백 함수를 사용할 수 있습니다. 콜백 함수를 사용하려면 sql.Exec, sql.QueryRow, sql.Query 함수를 사용해야 합니다.

C++를 사용하여 데이터베이스 연결 및 작업을 처리하는 방법은 무엇입니까? C++를 사용하여 데이터베이스 연결 및 작업을 처리하는 방법은 무엇입니까? Jun 01, 2024 pm 07:24 PM

C++의 DataAccessObjects(DAO) 라이브러리를 사용하여 데이터베이스 연결 설정, SQL 쿼리 실행, 새 레코드 삽입 및 기존 레코드 업데이트를 포함하여 데이터베이스를 연결하고 운영합니다. 구체적인 단계는 다음과 같습니다. 1. 필요한 라이브러리 문을 포함합니다. 2. 데이터베이스 파일을 엽니다. 3. SQL 쿼리를 실행하거나 데이터를 조작하기 위한 Recordset 개체를 만듭니다. 4. 특정 요구에 따라 결과를 탐색하거나 레코드를 업데이트합니다.

See all articles