From 2b42ef0287621de7bce0676d9bd030152e836903 Mon Sep 17 00:00:00 2001
From: "p.belezov"
Date: Thu, 16 Jan 2025 14:09:11 +0800
Subject: [PATCH] identify lock
---
MySQL/identify_lock.md | 29 +++++++++++++++++++
.../all_foreign_keys_to_table_or_column.sql | 21 --------------
Readme.md | 3 +-
3 files changed, 31 insertions(+), 22 deletions(-)
create mode 100644 MySQL/identify_lock.md
delete mode 100644 MySQL/sql/all_foreign_keys_to_table_or_column.sql
diff --git a/MySQL/identify_lock.md b/MySQL/identify_lock.md
new file mode 100644
index 0000000..1b8a47d
--- /dev/null
+++ b/MySQL/identify_lock.md
@@ -0,0 +1,29 @@
+# Identify what locking table
+
+## Method 1
+
+```
+SHOW open tables WHERE In_use > 0;
+```
+
+## Method 2
+
+```
+SELECT
+ OBJECT_SCHEMA,
+ OBJECT_NAME,
+ GROUP_CONCAT(DISTINCT EXTERNAL_LOCK)
+FROM
+ performance_schema.table_handles
+WHERE
+ EXTERNAL_LOCK IS NOT NULL
+GROUP BY
+ OBJECT_SCHEMA,
+ OBJECT_NAME;
+```
+
+## Process list
+
+```
+SHOW PROCESSLIST;
+```
\ No newline at end of file
diff --git a/MySQL/sql/all_foreign_keys_to_table_or_column.sql b/MySQL/sql/all_foreign_keys_to_table_or_column.sql
deleted file mode 100644
index 58b937d..0000000
--- a/MySQL/sql/all_foreign_keys_to_table_or_column.sql
+++ /dev/null
@@ -1,21 +0,0 @@
-# Find all tables whose foreign key refers to the table/column
-
-# BY TABLE
-SELECT
- TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
-FROM
- INFORMATION_SCHEMA.KEY_COLUMN_USAGE
-WHERE
- REFERENCED_TABLE_SCHEMA = (SELECT DATABASE()) AND
- REFERENCED_TABLE_NAME = '';
-
-
-# BY TABLE COLUMN
-SELECT
- TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
-FROM
- INFORMATION_SCHEMA.KEY_COLUMN_USAGE
-WHERE
- REFERENCED_TABLE_SCHEMA = (SELECT DATABASE()) AND
- REFERENCED_TABLE_NAME = '' AND
- REFERENCED_COLUMN_NAME = '';
\ No newline at end of file
diff --git a/Readme.md b/Readme.md
index 565981d..f4e444a 100644
--- a/Readme.md
+++ b/Readme.md
@@ -5,4 +5,5 @@ This is a repository with useful snippets of various kinds of code
## Structure
- [MySQL](./src/branch/master/MySQL)
-- - [all_foreign_keys_to_table_or_column](./src/branch/master/MySQL/all_foreign_keys_to_table_or_column.md)
\ No newline at end of file
+- - [all_foreign_keys_to_table_or_column](./src/branch/master/MySQL/all_foreign_keys_to_table_or_column.md)
+- - [identify_lock](./src/branch/master/MySQL/identify_lock.md)
\ No newline at end of file