karmand
چهارشنبه 29 خرداد 1387, 10:18 صبح
با سلام خدمت دوستان عزیز
یک جدول دارم حدود 500 هزار رکورد این جدول از تعدادی فیلد دارد که 1 فیلد آن یکسری شماره 5 رقمی است این شماره ها دسته دسته هستند مثال 1 تا 12 و 15 تا 21 و 32 تا 47
نه تعداد هر دسته را میدانم و نه ابتدا و نه انتهای ان فقط میدانم به ترتیب هستند یعنی یکی یکی بالا رفته
در روش اول از ابتدا هر رکورد را با رکورد بعدی کنترل کردم و ابتدا و انتها و تعداد را یافته و در فیلد بنام az و فیلدی دیگر بنام ta روبروی رکوردهای ان دسته آپدیت کردم و این کار زمان زیادی میبرد
در روش دوم بجای رکورد رکورد با پرش 100 تایی این کار انجام دادم مانند روش ایندکس قدیم 100 رکورد پرش میکنی اگر شماره برابر بود با رکورد اولی + 100 ادامه میدهی و اگر نه 50 رکورد برمی گردی عقب بعد 25 رکورد جلو و عقب و...... تارکورد مورد نظر(انتهای ان دسته)را بیابم که بهتر شده
این را باید عرض کنم که مرتبا از بین یک دسته از این دسته ها قطعه ای جدا میکنن که ان یک دسته می شود دو دسته و کار باید از نو تکرار شود تازه از این دسته ها که جدا میکنند مقداری مصرف مجددا با انبار برمی گردد که خود میشود دسته جدید
اما مشکل
زمانی که با عقب و جلو رفتن اخرین رکورد آن دسته را یافتم و با دستور sql نوشتم آپدیت کن فیلد az را با min و فیلد ta را با max بشرط که فیلد شماره بین min وmax باشد
اخطار میدهد که یک یوزر دیگر روی رکورد مورد نظر است و رونویسی میشود و 3 گزینه دارد که دیفالت نیز روی کپی در کلیپ برد است و روی save نسیت مجبورم با موس مرتبا روی save کلیک کنم تا مشکل حل شود که اگر در فرم error شماره response را صفر کنم این اخطار نمیاید و لی sql اجرا نمیشود چون دیفالت روی saveنیست ایا نظری دارید؟؟
یک جدول دارم حدود 500 هزار رکورد این جدول از تعدادی فیلد دارد که 1 فیلد آن یکسری شماره 5 رقمی است این شماره ها دسته دسته هستند مثال 1 تا 12 و 15 تا 21 و 32 تا 47
نه تعداد هر دسته را میدانم و نه ابتدا و نه انتهای ان فقط میدانم به ترتیب هستند یعنی یکی یکی بالا رفته
در روش اول از ابتدا هر رکورد را با رکورد بعدی کنترل کردم و ابتدا و انتها و تعداد را یافته و در فیلد بنام az و فیلدی دیگر بنام ta روبروی رکوردهای ان دسته آپدیت کردم و این کار زمان زیادی میبرد
در روش دوم بجای رکورد رکورد با پرش 100 تایی این کار انجام دادم مانند روش ایندکس قدیم 100 رکورد پرش میکنی اگر شماره برابر بود با رکورد اولی + 100 ادامه میدهی و اگر نه 50 رکورد برمی گردی عقب بعد 25 رکورد جلو و عقب و...... تارکورد مورد نظر(انتهای ان دسته)را بیابم که بهتر شده
این را باید عرض کنم که مرتبا از بین یک دسته از این دسته ها قطعه ای جدا میکنن که ان یک دسته می شود دو دسته و کار باید از نو تکرار شود تازه از این دسته ها که جدا میکنند مقداری مصرف مجددا با انبار برمی گردد که خود میشود دسته جدید
اما مشکل
زمانی که با عقب و جلو رفتن اخرین رکورد آن دسته را یافتم و با دستور sql نوشتم آپدیت کن فیلد az را با min و فیلد ta را با max بشرط که فیلد شماره بین min وmax باشد
اخطار میدهد که یک یوزر دیگر روی رکورد مورد نظر است و رونویسی میشود و 3 گزینه دارد که دیفالت نیز روی کپی در کلیپ برد است و روی save نسیت مجبورم با موس مرتبا روی save کلیک کنم تا مشکل حل شود که اگر در فرم error شماره response را صفر کنم این اخطار نمیاید و لی sql اجرا نمیشود چون دیفالت روی saveنیست ایا نظری دارید؟؟