خانه / آموزش / برنامه نویسی / ++C / Autoincrement در SQLite!
SQLite370
SQLite370

Autoincrement در SQLite!

AUTOINCREMENT باعث درگیری بیشتر cpu و ram  و  hard می شود،و باید حدال امکان  باید از استفاده از آن جلوگیری کرد،چون خیلی نیاز نیست.

در SQLite ستون با نوع INTEGER PRIMARY KEY همیشه می تواند این مقدار را بگیرد.این زبان پایگاه داده بسیار سبک است و همچنین قابلیتهای کمتر و قدرت کمتری مانند MySql  یا Sqlserver دارد.

در INSERT اگر ستون مورد نظر به آن مقداری داده نشود به صورت اوتوماتیک مقدار دهی می شود.در کل هدف از استفاده از AUTOINCREMEN جلوگیری از استفاده دوباره از ROWIDs برای سطرهای حذف شده قبلی است.

در SQLite هر سطر یک ROWID منحصر به فرد در همان جدول دارد که حداقل چیزی است که سطر را از بقیه سطرها متمایز می کند و هر جدول بدون این ویژگی استثنا محسوب می شود.

وقتی یک سطر در پایگاه داده اضافه می شود، ROWID هم مانند دیگر ستونها توسط انجین دیتا بیس پر می شود.اما با کد زیر می توان بصورت دستی نیز به ROWID مقدار داد:

CREATE TABLE test1(a INT, b TEXT);

INSERT INTO test1(rowid, a, b) VALUES(123, 5, 'hello');

همانطور که گفتیم اگر هیچ مقداری برای ROWID اضافه نگردد خود انجین دیتابیس آن را پر می نماید،و الگوریتم اضافه کردن ROWID بعدی هم این است که عدد بزرگتر از آخرین عدد وارد شده برای ROWID وارد شود.اگر جدول خالی باشد عدد ۱ به ROWID اضافه می شود و مثلا اگر آخرین عدد وارد شده (۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۷) پایگاه داده به سرعت یک عدد را به صورت رندوم انتخاب می کند که قبلا استفاده نشده باشد و اگر همچین عددی نبود SQLITE_FULL error داده می شود.اگر قبلا عدد منفی انتخاب نشده باشد تمام اعدا برای ROWID بزرگتر از صفر خواهند بود.

منبع

AUTOINCREMENT باعث درگیری بیشتر cpu و ram  و  hard می شود،و باید حدال امکان  باید از استفاده از آن جلوگیری کرد،چون خیلی نیاز نیست. در SQLite ستون با نوع INTEGER PRIMARY KEY همیشه می تواند این مقدار را بگیرد.این زبان پایگاه داده بسیار سبک است و همچنین قابلیتهای کمتر و…



User Rating: Be the first one !

لینک کوتاه برای اشتراک گذاری :



ittl in telegram

درباره ی مهران کردوانی

آدمی ساخته‌ی افکار خویش است فردا همان خواهد شد که امروز می‌اندیشیده است. (مترلینگ)

می توانید پستهای زیر رانیز چک کنید

بررسی موشکافانه iOS 11 و معرفی ۳۶ ویژگی جدید آن (بخش پایانی)

بررسی موشکافانه iOS 11 و معرفی ۳۶ ویژگی جدید آن (بخش پایانی)

در بخش اول این مقاله، به قسمتی از مهم‌ترین ویژگی‌های سیستم عامل iOS 11 پرداختیم. با بخش دوم مقاله همراه باشید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد.