Amazon Best VPN GoSearch

Biểu tượng yêu thích OnWorks

pt-table-usingp - Trực tuyến trên Đám mây

Chạy pt-table-usingp trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh pt-table-usingp có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


pt-table-using - Phân tích cách các truy vấn sử dụng bảng.

SYNOPSIS


Cách sử dụng: pt-table-using [OPTIONS] [FILES]

pt-table-using đọc các truy vấn từ nhật ký và phân tích cách chúng sử dụng bảng. Nếu không có FILE là
được chỉ định, nó đọc STDIN. Nó in một báo cáo cho mỗi truy vấn.

RỦI RO


Bộ công cụ Percona đã hoàn thiện, được chứng minh trong thế giới thực và được thử nghiệm tốt, nhưng tất cả cơ sở dữ liệu
các công cụ có thể gây rủi ro cho hệ thống và máy chủ cơ sở dữ liệu. Trước khi sử dụng công cụ này,
xin vui lòng:

· Đọc tài liệu của công cụ

· Xem lại "BUGS" đã biết của công cụ

· Kiểm tra công cụ trên một máy chủ không sản xuất

· Sao lưu máy chủ sản xuất của bạn và xác minh các bản sao lưu

MÔ TẢ


pt-table-using đọc các truy vấn từ nhật ký và phân tích cách chúng sử dụng bảng. Nhật ký nên
ở định dạng nhật ký truy vấn chậm của MySQL.

Việc sử dụng bảng không chỉ đơn giản là một chỉ báo về những bảng mà truy vấn đọc hoặc ghi.
Nó cũng chỉ ra luồng dữ liệu: dữ liệu vào và dữ liệu ra. Công cụ xác định luồng dữ liệu bằng cách
bối cảnh trong đó các bảng xuất hiện. Một truy vấn duy nhất có thể sử dụng một bảng trong một số
bối cảnh đồng thời. Đầu ra của công cụ liệt kê mọi ngữ cảnh cho mọi bảng. Cái này
Danh sách CONTEXT-TABLE cho biết cách dữ liệu lưu chuyển giữa các bảng. Phần "OUTPUT" liệt kê
các ngữ cảnh có thể có và mô tả cách đọc báo cáo sử dụng bảng.

Công cụ phân tích luồng dữ liệu xuống cấp độ của các cột riêng lẻ, vì vậy sẽ rất hữu ích nếu
các cột được xác định rõ ràng trong truy vấn. Nếu một truy vấn chỉ sử dụng một bảng, thì
tất cả các cột phải từ bảng đó và không có gì khó khăn. Nhưng nếu một truy vấn sử dụng
nhiều bảng và tên cột không đủ tiêu chuẩn của bảng, khi đó cần phải sử dụng
"GIẢI THÍCH MỞ RỘNG", theo sau là "HIỂN THỊ CẢNH BÁO", để xác định bảng nào các cột
thuộc về

Nếu công cụ không biết cơ sở dữ liệu mặc định của truy vấn, điều này có thể xảy ra khi cơ sở dữ liệu
không được in trong nhật ký, thì "EXPLAIN EXTENDED" có thể không thành công. Trong trường hợp này, bạn có thể chỉ định
cơ sở dữ liệu mặc định với "--database". Bạn cũng có thể sử dụng "định nghĩa --create-table-table"
tùy chọn để giúp giải quyết những điều không rõ ràng.

OUTPUT


Công cụ in báo cáo sử dụng cho mỗi bảng trong mọi truy vấn, tương tự như sau:

Query_id: 0x1CD27577D202A339.1
CẬP NHẬT t1
CHỌN KÉP
THAM GIA t1
THAM GIA t2
NƠI T1

Query_id: 0x1CD27577D202A339.2
CẬP NHẬT t2
CHỌN KÉP
THAM GIA t1
THAM GIA t2
NƠI T1

Dòng đầu tiên chứa ID truy vấn, theo mặc định giống với ID được hiển thị trong pt-
báo cáo truy vấn-thông báo. Nó là tổng kiểm tra MD5 của "dấu vân tay" của truy vấn, là cái
vẫn còn sau khi loại bỏ các ký tự, thu gọn khoảng trắng và nhiều loại khác
các phép biến hình. ID truy vấn có hai phần được phân tách bằng dấu chấm: ID truy vấn và
bảng số. Nếu bạn muốn sử dụng một giá trị khác để xác định truy vấn, bạn có thể chỉ định
tùy chọn "--id-thuộc tính".

Ví dụ trước hiển thị hai đoạn văn cho một truy vấn, không phải hai truy vấn. Lưu ý rằng
ID truy vấn giống hệt nhau cho cả hai, nhưng số bảng khác nhau. Bảng số
tăng 1 cho mỗi bảng mà truy vấn cập nhật. Chỉ truy vấn UPDATE nhiều bảng
có thể cập nhật nhiều bảng với một truy vấn duy nhất, vì vậy số bảng là 1 cho tất cả các bảng khác
các loại truy vấn. (Công cụ không hỗ trợ truy vấn DELETE nhiều bảng.)
đầu ra ở trên là từ truy vấn này:

CẬP NHẬT t1 NHƯ a THAM GIA t2 NHƯ b SỬ DỤNG (id)
SET a.foo = "bar", b.foo = "bat"
WHERE a.id = 1;

Mệnh đề "SET" chỉ ra rằng truy vấn cập nhật hai bảng: "a" được đặt bí danh là "t1" và "b"
bí danh là "t2".

Sau dòng đầu tiên, công cụ in ra một số dòng CONTEXT-TABLE có thể thay đổi. Khả thi
bối cảnh như sau:

· LỰA CHỌN

SELECT có nghĩa là truy vấn lấy dữ liệu từ bảng vì một trong hai lý do. Các
đầu tiên là được trả lại cho người dùng như một phần của tập kết quả. Chỉ các truy vấn CHỌN
trả về tập hợp kết quả, do đó, báo cáo luôn hiển thị ngữ cảnh CHỌN cho các truy vấn CHỌN.

Trường hợp thứ hai là khi dữ liệu chảy sang một bảng khác như một phần của CHÈN hoặc CẬP NHẬT.
Ví dụ: truy vấn UPDATE trong ví dụ trên có cách sử dụng:

CHỌN KÉP

Điều này đề cập đến:

SET a.foo = "bar", b.foo = "bat"

Công cụ này sử dụng DUAL cho bất kỳ giá trị nào không có trong bảng, trong trường hợp này là
các giá trị chữ "bar" và "bat". Nếu mệnh đề "SET" đó là "SET a.foo = b.foo" thay vào đó,
thì cách sử dụng hoàn chỉnh sẽ là:

Query_id: 0x1CD27577D202A339.1
CẬP NHẬT t1
CHỌN t2
THAM GIA t1
THAM GIA t2
NƠI T1

Sự hiện diện của ngữ cảnh CHỌN sau ngữ cảnh khác, chẳng hạn như CẬP NHẬT hoặc CHÈN,
cho biết nơi UPDATE hoặc INSERT lấy dữ liệu của nó. Ví dụ ngay lập tức
ở trên phản ánh truy vấn CẬP NHẬT cập nhật các hàng trong bảng "t1" với dữ liệu từ bảng
"t2".

· Bất kỳ động từ nào khác

Bất kỳ động từ nào khác, chẳng hạn như CHÈN, CẬP NHẬT, XÓA, v.v. có thể là một ngữ cảnh. Nhưng động tư đo
cho biết rằng truy vấn sửa đổi dữ liệu theo một cách nào đó. Nếu ngữ cảnh SELECT theo sau một trong các
những động từ này, sau đó truy vấn đọc dữ liệu từ bảng SELECT và ghi nó vào
bàn. Điều này xảy ra, chẳng hạn như với các truy vấn INSERT..SELECT hoặc UPDATE sử dụng
giá trị từ bảng thay vì giá trị không đổi.

Các loại truy vấn này không được hỗ trợ: SET, LOAD và nhiều bảng DELETE.

· THAM GIA

Bối cảnh JOIN liệt kê các bảng được tham gia, hoặc với một JOIN rõ ràng trong
Mệnh đề FROM, hoặc ngầm định trong mệnh đề WHERE, chẳng hạn như "t1.id = t2.id".

· Ở ĐÂU

Ngữ cảnh WHERE liệt kê các bảng được sử dụng trong mệnh đề WHERE để lọc kết quả.
Điều này không bao gồm các bảng được kết hợp ngầm trong mệnh đề WHERE; những người đang có
được liệt kê dưới dạng ngữ cảnh THAM GIA. Ví dụ:

TRONG ĐÓ t1.id> 100 VÀ t1.id <200 VÀ t2.foo KHÔNG ĐẦY ĐỦ

Kết quả trong:

NƠI T1
NƠI T2

Công cụ này chỉ liệt kê các bảng riêng biệt; đó là lý do tại sao bảng "t1" chỉ được liệt kê một lần.

· DANH SÁCH

Ngữ cảnh TLIST liệt kê các bảng mà truy vấn truy cập, nhưng không xuất hiện trong bất kỳ
bối cảnh khác. Các bảng này thường là một phép nối cacte ngầm. Ví dụ,
truy vấn "CHỌN * TỪ t1, t2" cho kết quả:

Truy vấn_id: 0xBDEB6EDA41897A8.1
CHỌN t1
CHỌN t2
DANH SÁCH T1
DANH SÁCH T2

Trước hết, có hai ngữ cảnh CHỌN, vì "CHỌN *" chọn các hàng từ tất cả
những cái bàn; "t1" và "t2" trong trường hợp này. Thứ hai, các bảng được tham gia ngầm, nhưng
mà không có bất kỳ loại điều kiện tham gia nào, dẫn đến tham gia các-ten như được chỉ ra bởi
ngữ cảnh TLIST cho mỗi.

EXIT TÌNH TRẠNG


pt-table-use thoát ra 1 đối với bất kỳ loại lỗi nào, hoặc 0 nếu không có lỗi.

LỰA CHỌN


Công cụ này chấp nhận các đối số dòng lệnh bổ sung. Tham khảo "SYNOPSIS" và cách sử dụng
thông tin để biết chi tiết.

--hỏi-vượt qua
Nhắc nhập mật khẩu khi kết nối với MySQL.

--bộ ký tự
dạng rút gọn: -A; loại: chuỗi

Bộ ký tự mặc định. Nếu giá trị là utf8, hãy đặt mã bin của Perl trên STDOUT thành utf8,
chuyển tùy chọn mysql_enable_utf8 tới DBD :: mysql và chạy SET NAMES UTF8 sau
kết nối với MySQL. Bất kỳ giá trị nào khác đặt mã binmode trên STDOUT mà không có lớp utf8,
và chạy SET NAMES sau khi kết nối với MySQL.

--config
kiểu: Mảng

Đọc danh sách các tệp cấu hình được phân tách bằng dấu phẩy này; nếu được chỉ định, đây phải là lần đầu tiên
tùy chọn trên dòng lệnh.

--constant-dữ liệu-giá trị
type: string; mặc định: DUAL

Bảng để in làm nguồn cho dữ liệu không đổi (chữ). Đây là bất kỳ dữ liệu nào không phải
được truy xuất từ ​​bảng (hoặc truy vấn con, vì truy vấn con không được hỗ trợ). Cái này
bao gồm các giá trị chữ như chuỗi ("foo") và số (42) hoặc các hàm như
"HIỆN NAY()". Ví dụ: trong truy vấn "INSERT INTO t (c) VALUES ('a')", chuỗi 'a'
là dữ liệu không đổi, vì vậy báo cáo sử dụng bảng là:

CHÈN t
CHỌN KÉP

Dòng đầu tiên cho biết rằng truy vấn chèn dữ liệu vào bảng "t" và dòng thứ hai
dòng chỉ ra rằng dữ liệu được chèn vào đến từ một số giá trị không đổi.

- [không] tiếp tục-lỗi
mặc định: có

Tiếp tục hoạt động ngay cả khi có lỗi.

định nghĩa --create-table-
kiểu: mảng

Đọc định nghĩa "TẠO BẢNG" từ danh sách các tệp được phân tách bằng dấu phẩy này. nếu bạn
không thể sử dụng "--explain-Extended" để đủ điều kiện cho các tên bảng và cột, bạn có thể lưu
đầu ra của "mysqldump --no-data" cho một hoặc nhiều tệp và chỉ định các tệp đó bằng
tùy chọn này. Công cụ sẽ phân tích cú pháp tất cả các định nghĩa "TẠO BẢNG" từ các tệp và
sử dụng thông tin này để xác định tên bảng và cột. Nếu tên cột xuất hiện trong
nhiều bảng hoặc một tên bảng xuất hiện trong nhiều cơ sở dữ liệu, những điều không rõ ràng không thể
được giải quyết.

--daemon hóa
Ngã ba xuống nền và tách khỏi vỏ. Chỉ hệ điều hành POSIX.

- cơ sở dữ liệu
dạng rút gọn: -D; loại: chuỗi

Cơ sở dữ liệu mặc định.

--defaults-file
dạng rút gọn: -F; loại: chuỗi

Chỉ đọc các tùy chọn mysql từ tệp đã cho. Bạn phải cung cấp một tên đường dẫn tuyệt đối.

- giải thích-mở rộng
loại: DSN

Một máy chủ để thực thi các truy vấn ĐÃ MỞ RỘNG GIẢI THÍCH. Điều này có thể cần thiết để giải quyết
tên cột và bảng không rõ ràng (không đủ tiêu chuẩn).

--lọc
loại: chuỗi

Loại bỏ các sự kiện mà mã Perl này không trả về true.

Tùy chọn này là một chuỗi mã Perl hoặc một tệp chứa mã Perl được biên dịch
vào một chương trình con với một đối số: $ event. Nếu giá trị đã cho là một tệp có thể đọc được,
thì pt-table-using đọc toàn bộ tệp và sử dụng nội dung của nó làm mã.

Các bộ lọc được triển khai theo cùng một kiểu như trong công cụ pt-query-thông báo, vì vậy vui lòng
tham khảo tài liệu của nó để biết thêm thông tin.

--Cứu giúp
Hiển thị trợ giúp và thoát.

--tổ chức
dạng rút gọn: -h; loại: chuỗi

Kết nối với máy chủ.

- thuộc tínhid
loại: chuỗi

Xác định từng sự kiện bằng cách sử dụng thuộc tính này. Mặc định là sử dụng ID truy vấn, ID này
tổng kiểm tra MD5 của dấu vân tay của truy vấn.

--log
loại: chuỗi

In tất cả đầu ra cho tệp này khi được tạo ra.

--mật khẩu mở khóa
dạng rút gọn: -p; loại: chuỗi

Mật khẩu sử dụng khi kết nối. Nếu mật khẩu chứa dấu phẩy thì chúng phải được thoát
có dấu gạch chéo ngược: "exam \, ple"

- lipid
loại: chuỗi

Tạo tệp PID đã cho. Công cụ sẽ không khởi động nếu tệp PID đã tồn tại và
PID mà nó chứa khác với PID hiện tại. Tuy nhiên, nếu tệp PID
tồn tại và PID mà nó chứa không còn chạy nữa, công cụ sẽ ghi đè lên PID
tệp với PID hiện tại. Tệp PID sẽ tự động bị xóa khi công cụ thoát.

--Hải cảng
dạng viết tắt: -P; kiểu: int

Số cổng sử dụng để kết nối.

--phát triển
kiểu: mảng; mặc định: thời gian, 30

In báo cáo tiến độ lên STDERR. Giá trị là một danh sách được phân tách bằng dấu phẩy gồm hai phần.
Phần đầu tiên có thể là tỷ lệ phần trăm, thời gian hoặc số lần lặp lại; phần thứ hai chỉ định cách thức
thường thì một bản cập nhật sẽ được in, tính theo tỷ lệ phần trăm, giây hoặc số lần lặp lại.

--truy vấn
loại: chuỗi

Phân tích truy vấn được chỉ định thay vì đọc tệp nhật ký.

--giờ đọc đã kết thúc
loại: thời gian; mặc định: 0

Chờ đợi một sự kiện từ đầu vào rất lâu; 0 để chờ đợi mãi mãi.

Tùy chọn này đặt thời gian tối đa để đợi một sự kiện từ đầu vào. Nếu một sự kiện là
không nhận được sau thời gian quy định, công cụ ngừng đọc đầu vào và in
báo cáo.

Tùy chọn này yêu cầu mô-đun Perl POSIX.

--thời gian chạy
loại: thời gian

Chạy bao lâu trước khi thoát. Mặc định là chạy vĩnh viễn (bạn có thể ngắt bằng
CTRL-C).

--set-vars
kiểu: Mảng

Đặt các biến MySQL trong danh sách các cặp "biến = giá trị" được phân tách bằng dấu phẩy này.

Theo mặc định, công cụ đặt:

wait_timeout = 10000

Các biến được chỉ định trên dòng lệnh sẽ ghi đè các giá trị mặc định này. Ví dụ,
chỉ định "--set-vars wait_timeout = 500" ghi đè giá trị mặc định là 10000.

Công cụ sẽ in một cảnh báo và tiếp tục nếu một biến không thể được thiết lập.

--ổ cắm
các hình thức ngắn; loại: chuỗi

Tập tin ổ cắm để sử dụng cho kết nối.

--người sử dụng
dạng rút gọn: -u; loại: chuỗi

Người dùng để đăng nhập nếu không phải là người dùng hiện tại.

--phiên bản
Hiển thị phiên bản và thoát.

DSN LỰA CHỌN


Các tùy chọn DSN này được sử dụng để tạo DSN. Mỗi tùy chọn được đưa ra như "option = value".
Các tùy chọn phân biệt chữ hoa chữ thường, vì vậy P và p không phải là cùng một tùy chọn. Không thể có
khoảng trắng trước hoặc sau "=" và nếu giá trị chứa khoảng trắng thì nó phải được trích dẫn.
Các tùy chọn DSN được phân tách bằng dấu phẩy. Xem trang web bộ công cụ percona để biết đầy đủ chi tiết.

· MỘT

dsn: bộ ký tự; copy: vâng

Bộ ký tự mặc định.

· NS

copy: không

Cơ sở dữ liệu mặc định.

· NS

dsn: mysql_read_default_file; copy: không

Chỉ đọc các tùy chọn mặc định từ tệp đã cho

· H

dsn: máy chủ; copy: vâng

Kết nối với máy chủ.

· P

dsn: mật khẩu; copy: vâng

Mật khẩu sử dụng khi kết nối. Nếu mật khẩu chứa dấu phẩy thì chúng phải được thoát
có dấu gạch chéo ngược: "exam \, ple"

· P

dsn: cổng; copy: vâng

Số cổng sử dụng để kết nối.

· NS

dsn: mysql_socket; copy: không

Tập tin ổ cắm để sử dụng cho kết nối.

· U

dsn: người dùng; copy: vâng

Người dùng để đăng nhập nếu không phải là người dùng hiện tại.

MÔI TRƯỜNG


Biến môi trường "PTDEBUG" cho phép đầu ra gỡ lỗi chi tiết thành STDERR. Để kích hoạt
gỡ lỗi và chụp tất cả đầu ra vào một tệp, chạy công cụ như:

PTDEBUG = 1 pt-table-use ...> FILE 2> & 1

Hãy cẩn thận: đầu ra gỡ lỗi rất lớn và có thể tạo ra vài MB đầu ra.

WELFARE YÊU CẦU


Bạn cần Perl, DBI, DBD :: mysql và một số gói cốt lõi phải được cài đặt trong bất kỳ
phiên bản mới hợp lý của Perl.

Sử dụng pt-table-usingp trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad




×
quảng cáo
❤️Mua sắm, đặt phòng hoặc mua tại đây — không mất phí, giúp duy trì các dịch vụ miễn phí.