কম্পিউটার টিউটোরিয়াল

MySQL-ে ইনডেক্সসহ টেবিল তৈরি করা (CREATE INDEX)

MySQL-এ টেবিল তৈরির পর আলাদা CREATE INDEX স্টেটমেন্ট দিয়ে ইনডেক্স তৈরি করা হয়। এটি কুয়েরি পারফরম্যান্স বেড়াতে সাহায্য করে।

সিনট্যাক্স

CREATE TABLE yourTableName (
    col1 datatype,
    col2 datatype,
    ...
);

CREATE INDEX index_name1 ON yourTableName(col1);
CREATE INDEX index_name2 ON yourTableName(col2);

উদাহরণ

CREATE TABLE DemoTable (
    Id INT,
    Name VARCHAR(20)
);

CREATE INDEX id_index ON DemoTable(Id);
CREATE INDEX Name_index ON DemoTable(Name);

টেবিল স্ট্রাকচার যাচাই

SHOW CREATE TABLE DemoTable;

আউটপুট

CREATE TABLE `DemoTable` (
  `Id` int(11) DEFAULT NULL,
  `Name` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
  KEY `id_index` (`Id`),
  KEY `Name_index` (`Name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

ইনডেক্স টাইপ ও টিপস

টাইপসিনট্যাক্সব্যবহার
সাধারণ (BTREE)CREATE INDEX idx ON tbl(col)=, >, <, LIKE 'prefix%'
ইউনিকCREATE UNIQUE INDEX idx ON tbl(col)ডুপ্লিকেট বাধা + সার্চ
ফুলটেক্সটCREATE FULLTEXT INDEX idx ON tbl(col)MATCH() AGAINST()
কম্পোজিটCREATE INDEX idx ON tbl(col1, col2)মাল্টি-কলাম ফিল্টার

স্রেফ টেবিল তৈরির সময়ই ইনডেক্স

CREATE TABLE DemoTable (
    Id INT,
    Name VARCHAR(20),
    INDEX id_index (Id),
    INDEX Name_index (Name)
);

দুটি পদ্ধতিই সমতুল্য। আলাদা CREATE INDEX প্রোডাকশন টেবিলে লক কম করতে সাহায্য করতে পারে (অনলাইন DDL)।

  1. JavaScript দিয়ে ফিল্টার টেবিল তৈরির পদ্ধতি

  2. HTML-এ ক্যাপশন (Caption) সহ টেবিল তৈরি করা

  3. MySQL-এ BEFORE INSERT TRIGGER ব্যবহার করে অটোমেটিক্যালি বর্তমান তারিখ ইনসার্ট করুন

  4. MySQL에서 VIEW(뷰) 생성하고 조회하기