انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: rahmani در 31 اردیبهشت 1398، 09:10 قظ
-
با سلام
اگر یک ویژگی که مقدارش فقط عددصحیح هست در varchar ذخیره شده باشد با چه اساس و معیاری مرتب می شود؟
سپاسگزارم
-
اولین کارکتر عدد با اولین کاراکتر بقیه اعداد مقایسه میشه اگه به نتیجه رسید که هیچ ولی اگه به نتیجه نرسید میره به دومین کاراکتر یعنی اگه این اعداد داشته باشیم
(003,03,,1,10,3,6,11,23,2)اگه صعودی مرتب سازیش کنی اینجوری میشه
(https://trueans.com/fa/wp-content/uploads/sites/2/2019/06/Screenshot-from-2019-06-21-17-43-55.png)
و اگه نزولی مرتب کنی اینجوری میشه
(https://trueans.com/fa/wp-content/uploads/sites/2/2019/06/Screenshot-from-2019-06-21-17-44-20.png)
من تست مذکور را تو این(mysql Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1
) پایگاه داده زدم اما بعید میدونم تو بقیه متفاوت باشه
ذخیره سازی اعداد در فیلدهای رشتهای مرتب سازی را به مراتب کندتر و مصرف حافظه را افزایش میده.
بهتره هدف ذخیره سازی تو فیلد varchar بررسی بشه و راه حلهای بهتری ارائه بشه.