
Україна Online: Новини | Політика

Телеграмна служба новин - Україна

Резидент

Мир сегодня с "Юрий Подоляка"

Труха⚡️Україна

Николаевский Ванёк

Лачен пише

Реальний Київ | Украина

Реальна Війна

Україна Online: Новини | Політика

Телеграмна служба новин - Україна

Резидент

Мир сегодня с "Юрий Подоляка"

Труха⚡️Україна

Николаевский Ванёк

Лачен пише

Реальний Київ | Украина

Реальна Війна

Україна Online: Новини | Політика

Телеграмна служба новин - Україна

Резидент

Golden Code
نکات laravel, php و...
关联群组

Golden Code
13
记录
04.04.202523:59
562订阅者31.03.202523:59
700引用指数18.03.202500:22
650每帖平均覆盖率27.03.202515:55
637广告帖子的平均覆盖率03.04.202518:15
9.06%ER18.03.202500:22
123.11%ERR01.04.202519:44
اگر یک query در دیتابیس کند باشه، میتونیم از دستور EXPLAIN استفاده کنیم تا بفهمیم مثلا چطوری یک سرچ یا فیلتر اجرا میشه.
اگه در خروجی EXPLAIN دیدید که 'access type' برابر با ALL هست، یعنی دیتابیس همهی رکوردهای جدول رو داره بررسی میکنه که باعث کندی میشه. درین صورت باید از index استفاده کنیم تا سرعت query بیشتر بشه.
حالا چجوری ازش استفاده کنیم؟
#sql
@GoldenCodeir
(بهمنبع دقت کنید 👇🏾)
https://x.com/mmartin_joo/status/1904174361642205309?t=rdYfmiptB7CN_obg0VDafg&s=19
اگه در خروجی EXPLAIN دیدید که 'access type' برابر با ALL هست، یعنی دیتابیس همهی رکوردهای جدول رو داره بررسی میکنه که باعث کندی میشه. درین صورت باید از index استفاده کنیم تا سرعت query بیشتر بشه.
حالا چجوری ازش استفاده کنیم؟
EXPLAIN SELECT * FROM users WHERE age > 30;
#sql
@GoldenCodeir
(بهمنبع دقت کنید 👇🏾)
https://x.com/mmartin_joo/status/1904174361642205309?t=rdYfmiptB7CN_obg0VDafg&s=19
23.03.202517:11
در دیتابیس مفهومه ACID چیه؟
شماره یک ( 🅰️ - Atomicity):
به این معناست که یک transaction (عملیات در دیتابیس) یا کامل انجام میشه یا اصلاً انجام نمیشه.
اگه در طول اجرای transaction خطایی رخ بده، تمام تغییرات انجامشده در دیتابیس باید لغو بشه (rollback) تا دیتابیس در وضعیت اولیه باقی بمونه.
📌 مثلا؟؟
فرض کنین شما در حال انتقال پول از حساب بانکیتون به حساب شخص دیگه ای هستین. اگه فرایند انتقال بطور کامل انجام بشه (یعنی پول از حساب شما کم شده و به حساب اون شخص اضافه بشه)، تراکنش موفقیتآمیزه.✅️
اما اگه وسطه عملیات مشکلی پیش بیاد (مثلاً اتصال اینترنت قطع بشه)، هیچکدوم از این تغییرات نباید در دیتابیس باقی بمونه. یعنی یا همه عملیاتها باید انجام بشن، یا هیچکدوم نباید انجام بشن.
#Database
#ACID
#Atomicity
@GoldenCodeir
شماره یک ( 🅰️ - Atomicity):
به این معناست که یک transaction (عملیات در دیتابیس) یا کامل انجام میشه یا اصلاً انجام نمیشه.
اگه در طول اجرای transaction خطایی رخ بده، تمام تغییرات انجامشده در دیتابیس باید لغو بشه (rollback) تا دیتابیس در وضعیت اولیه باقی بمونه.
📌 مثلا؟؟
فرض کنین شما در حال انتقال پول از حساب بانکیتون به حساب شخص دیگه ای هستین. اگه فرایند انتقال بطور کامل انجام بشه (یعنی پول از حساب شما کم شده و به حساب اون شخص اضافه بشه)، تراکنش موفقیتآمیزه.✅️
اما اگه وسطه عملیات مشکلی پیش بیاد (مثلاً اتصال اینترنت قطع بشه)، هیچکدوم از این تغییرات نباید در دیتابیس باقی بمونه. یعنی یا همه عملیاتها باید انجام بشن، یا هیچکدوم نباید انجام بشن.
#Database
#ACID
#Atomicity
@GoldenCodeir
30.03.202519:26
در لاراول ۱۲، یه متود جدیدی به نام pipe() به query builder اضافه شده. این متود به شما این امکان رو میده که تغییرات مختلفی مثل فیلتر کردن، مرتبسازی یا هر چیزه دیگهای رو به راحتی به query تون اضافه کنین، بدون اینکه نیازی به نوشتن کد پیچیده و طولانی باشه.
میتونید چند عملیات مختلف رو به صورت جداگانه و مرتب روی query اعمال کنین و این کار باعث میشه کد شما تمیزتر و خواناتر بشه و نگهداریش هم راحتتر بشه. استفاده از pipe() خیلی کمک میکنه که از تکرار و شلوغی کد جلوگیری کنیم.
مثلا میتونیم منطق یک فیلتر رو یه بار بنویسیم و در بخشهای مختلف پروژه از همون یک منطق استفاده کنیم.
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/jordankdalton/status/1905311519014789464?t=Jxnq3qqNdlyITwe2V-mUyA&s=19
میتونید چند عملیات مختلف رو به صورت جداگانه و مرتب روی query اعمال کنین و این کار باعث میشه کد شما تمیزتر و خواناتر بشه و نگهداریش هم راحتتر بشه. استفاده از pipe() خیلی کمک میکنه که از تکرار و شلوغی کد جلوگیری کنیم.
مثلا میتونیم منطق یک فیلتر رو یه بار بنویسیم و در بخشهای مختلف پروژه از همون یک منطق استفاده کنیم.
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/jordankdalton/status/1905311519014789464?t=Jxnq3qqNdlyITwe2V-mUyA&s=19
26.03.202519:41
در لاراول میتونیم بجای استفاده از whereIn برای جستجو در مجموعهای از مقادیر، از whereKey استفاده کنیم تا کدی تمیزتر و ساده تر داشته باشیم. این روش بطور خودکار از ID مدلها استفاده میکنه.
برای جستجوی برعکسش هم از whereKeyNot بجای whereNotIn استفاده میکنیم.
📌 همچنین میتونیم مشخص کنیم که primary key مدل ما از چه ستونی استفاده کند.
(✅️ با توجه به عکس زیر متوجه میشید چجوری باعث ساده تر شدنه کد میشه)
#Laravel
@GoldenCodeir
https://x.com/Akr4mKhan/status/1903493801030909990?t=-sVOBYg54lj1MzJpHh1hkQ&s=35
برای جستجوی برعکسش هم از whereKeyNot بجای whereNotIn استفاده میکنیم.
📌 همچنین میتونیم مشخص کنیم که primary key مدل ما از چه ستونی استفاده کند.
(✅️ با توجه به عکس زیر متوجه میشید چجوری باعث ساده تر شدنه کد میشه)
#Laravel
@GoldenCodeir
https://x.com/Akr4mKhan/status/1903493801030909990?t=-sVOBYg54lj1MzJpHh1hkQ&s=35
登录以解锁更多功能。