একটি নির্দিষ্ট টেবিলের জন্য আমি কীভাবে মাইএসকিউএল ইঞ্জিনের পরীক্ষা করতে পারি?


391

আমার মাইএসকিউএল ডাটাবেসে বিভিন্ন স্টোরেজ ইঞ্জিন (বিশেষত মাইসাম এবং ইনোডাব) ব্যবহার করে কয়েকটি সারণী রয়েছে। কোন টেবিলগুলি কোন ইঞ্জিন ব্যবহার করছে তা আমি কীভাবে জানতে পারি?

উত্তর:


507

SHOW TABLE STATUS WHERE Name = 'xxx'

এটি আপনাকে (অন্যান্য জিনিসের সাথে) একটি Engineকলাম দেবে, যা আপনি চান।


4
যদি আমার টেবিলটি ক্ষতিগ্রস্থ হয়, তবে এটি কেবল ইঞ্জিন = NULL দেখায় এবং আমাকে একটি মন্তব্য "টেবিল" সারণীটি মেরামত করতে বলে। তবে, টেবিলটি কীভাবে মেরামত করতে হবে তা জানার আগে, আমি অনুমান করছি যে ইঞ্জিনটি সম্পর্কে আমার জানা দরকার (সত্যি বলতে আমি এতটা অর্জন করতে পারিনি)) সুতরাং, নীচে @ জোকারের মন্তব্যটি আমার পক্ষে অনেক বেশি সহায়ক হয়েছিল।
হার্পারভিলি

@ গ্রেগ, আমাদের এই বা জকারের সমাধানটি ব্যবহার করা উচিত?
পেসারিয়ার

@ পেসারিয়র - উভয়ই ভাল কাজ করে। পার্থক্যটি হ'ল এই সমাধানটি একটি টেবিলের জন্য তথ্য দেয়, তবে জোকারের সমাধানটি একটি ডাটাবেসে সমস্ত টেবিলের জন্য ইঞ্জিনের ধরণটি দেখায় (পাশাপাশি আরও কিছুটা পাঠযোগ্যও হয়)।
kramer65

@ গ্রেগ, বিটিডব্লিউ কেন আমরা যখন ইঞ্জিনের তথ্য প্রদর্শিত হয় না show full columns from t1?
পেসারিয়ার

236

একটি ডাটাবেস এবং তাদের ইঞ্জিনে সমস্ত টেবিলের তালিকা প্রদর্শন করতে, এই এসকিউএল কোয়েরিটি ব্যবহার করুন:

SELECT TABLE_NAME,
       ENGINE
FROM   information_schema.TABLES
WHERE  TABLE_SCHEMA = 'dbname';

dbnameআপনার ডাটাবেসের নাম দিয়ে প্রতিস্থাপন করুন ।


3
এটি দুর্দান্ত খ / সি এটি টেবিল নাম এবং ইঞ্জিন ব্যতীত সমস্ত কিছু ফিল্টার করে।
টোন

1
নির্দিষ্ট সারণীর ইঞ্জিন পেতে, আপনি ব্যবহার করতে পারেন: SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
ইউজারলন্ড

1
এটি আমাকে মাইএসকিউএল 5.6.37 এ একটি খালি সেট দেয়।
nnyby

1
এই ভাল উত্তর কারণ এটি সত্য এসকিউএল, তাই আমি ভালো জিনিস করতে পারেন COUNT(*)এবং GROUP BY
ব্র্যান্ডন



15

জকারের প্রতিক্রিয়াতে একটি টুইটের বিট (আমি একটি মন্তব্য হিসাবে পোস্ট করব, তবে আমার এখনও যথেষ্ট কর্মফল নেই):

SELECT TABLE_NAME, ENGINE
  FROM information_schema.TABLES
 WHERE TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;

এটি তালিকা থেকে মাইএসকিউএল ভিউগুলি বাদ দেয়, যার কোনও ইঞ্জিন নেই।


9
SHOW CREATE TABLE <tablename>\G

এর আউটপুট তুলনায় এটি অনেক ভাল বিন্যাস করবে

SHOW CREATE TABLE <tablename>;

\Gকৌতুক অন্যান্য অনেক প্রশ্ন / কমান্ডের জন্য মনে রাখা দরকারী।


1
Hack

7
mysqlshow -i <database_name>

একটি নির্দিষ্ট ডাটাবেসের সমস্ত টেবিলের জন্য তথ্য প্রদর্শন করবে।

mysqlshow -i <database_name> <table_name> 

এটি কেবল একটি নির্দিষ্ট টেবিলের জন্য করবে।


1
এটি প্রশ্নের উত্তর দেয় না কারণ এটি সমস্ত টেবিলের জন্য ইঞ্জিনগুলি প্রদর্শন করে। প্রশ্নের সূচনাকারী একটি নির্দিষ্ট সারণী সম্পর্কিত তথ্য চেয়েছিলেন।
তাস

4

ডাটাবেস_নাম থেকে সারণীর স্থিতি দেখান;

এটি উল্লিখিত ডাটাবেস থেকে সমস্ত সারণী তালিকাবদ্ধ করবে।
উদাহরণ আউটপুট

mysql ডিবি নমুনা আউটপুট

সারণীর স্থিতি প্রদর্শন করুন যেখানে নাম = আপনার_অনুসরণ_তালিকা_নাম;

এটি উল্লিখিত টেবিল দ্বারা ব্যবহৃত স্টোরেজ ইঞ্জিনটি দেখায়।


3

আপনি যদি মাইএসকিউএল ওয়ার্কবেঞ্চ ব্যবহার করছেন তবে আপনি টেবিলটিতে রাইট ক্লিক করতে পারেন এবং 'বদল টেবিল' নির্বাচন করতে পারেন।

সেই উইন্ডোতে আপনি আপনার টেবিল ইঞ্জিনটি দেখতে এবং এটি পরিবর্তন করতে পারেন।


2

অন্য একটি উপায়, টেবিলগুলির একক বা মিলিত সেটগুলির স্থিতি পেতে সম্ভবত সবচেয়ে সংক্ষিপ্ত:

SHOW TABLE STATUS LIKE 'table';

তারপরে আপনি লাইক অপারেটরগুলি উদাহরণস্বরূপ ব্যবহার করতে পারেন:

SHOW TABLE STATUS LIKE 'field_data_%';

2

আপনি যদি লিনাক্স ব্যবহারকারী হন:

টেবিল ছাড়া একটি মাইএসকিউএল সার্ভারে সব ডাটাবেস জন্য সব টেবিলের জন্য ইঞ্জিন দেখাতে, information_schema, mysql, performance_schema:

less < <({ for i in $(mysql -e "show databases;" | cat | grep -v -e Database-e information_schema -e mysql -e performance_schema); do echo "--------------------$i--------------------";  mysql -e "use $i; show table status;"; done } | column -t)

আপনি এটি পছন্দ করতে পারেন, যদি আপনি লিনাক্সে থাকেন তবে কমপক্ষে।

সমস্ত টেবিলের জন্য সমস্ত তথ্য খুলবে less, টিপুন-S অত্যধিক দীর্ঘ লাইনগুলি কাটাতে ।

উদাহরণ আউটপুট:

--------------------information_schema--------------------
Name                                                        Engine              Version  Row_format  Rows   Avg_row_length  Data_length  Max_data_length     Index_length  Data_free  Auto_increment  Create_time  Update_time  Check_time  C
CHARACTER_SETS                                              MEMORY              10       Fixed       NULL   384             0            16434816            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLLATIONS                                                  MEMORY              10       Fixed       NULL   231             0            16704765            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLLATION_CHARACTER_SET_APPLICABILITY                       MEMORY              10       Fixed       NULL   195             0            16357770            0             0          NULL            2015-07-13   15:48:45     NULL        N
COLUMNS                                                     MyISAM              10       Dynamic     NULL   0               0            281474976710655     1024          0          NULL            2015-07-13   15:48:45     2015-07-13  1
COLUMN_PRIVILEGES                                           MEMORY              10       Fixed       NULL   2565            0            16757145            0             0          NULL            2015-07-13   15:48:45     NULL        N
ENGINES                                                     MEMORY              10       Fixed       NULL   490             0            16574250            0             0          NULL            2015-07-13   15:48:45     NULL        N
EVENTS                                                      MyISAM              10       Dynamic     NULL   0               0            281474976710655     1024          0          NULL            2015-07-13   15:48:45     2015-07-13  1
FILES                                                       MEMORY              10       Fixed       NULL   2677            0            16758020            0             0          NULL            2015-07-13   15:48:45     NULL        N
GLOBAL_STATUS                                               MEMORY              10       Fixed       NULL   3268            0            16755036            0             0          NULL            2015-07-13   15:48:45     NULL        N
GLOBAL_VARIABLES                                            MEMORY              10       Fixed       NULL   3268            0            16755036            0             0          NULL            2015-07-13   15:48:45     NULL        N
KEY_COLUMN_USAGE                                            MEMORY              10       Fixed       NULL   4637            0            16762755            0 

.
.
.

0

সেখানে তথ্য_সেমি ডাটাবেসে যান আপনি 'সারণী' সারণীটি পাবেন এবং তারপরে এটি নির্বাচন করুন;

মাইএসকিউএল> তথ্য_সেমি ব্যবহার করুন; MySQL> টেবিলের নাম নির্বাচন করুন, টেবিল থেকে ইঞ্জিন;


0

আপনি যদি GUI লোক হন এবং কেবল এটি সন্ধান করতে চান আপনার পছন্দের টেবিলটি বেছে নেওয়ার চেয়ে পিএইচপিএমএইডমিনেOperations >> Table options>> >>Storage Engine । এমনকি ড্রপ-ডাউন বিকল্পগুলির তালিকাটি ব্যবহার করে সেখান থেকে এটি পরিবর্তন করতে পারেন।

পিএস: এই গাইড পিএইচপিএমএইডমিনের সংস্করণ 4.8 এর উপর ভিত্তি করে। খুব পুরানো সংস্করণগুলির জন্য একই পাথের গ্যারান্টি দিতে পারে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.