powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / VARCHAR VS INT
25 сообщений из 50, страница 2 из 2
VARCHAR VS INT
    #40008925
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15.10.2020 14:53, Шавлюк Евгений пишет:
> Сейчас номер может быть в формате +nnnnnnnn*kkk (или #?)
> Для выхода сразу на внутренний телефон

решается добавочным полем
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40008933
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийрешается добавочным полем

"Спросить Марию Ивановну" тоже добавочным полем?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40008938
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15.10.2020 15:13, Dimitry Sibiryakov пишет:
> "Спросить Марию Ивановну" тоже добавочным полем?..

ну а?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40008945
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Большая часть из этого - задача визуализации, а вот возможность добавочного номера да, стоит предусмотреть
Коды страны и населённого пункта это отнюдь не визуализация.
Мой посыл в том, что "преобразовать номер телефона в целочисленное поле" - задача не самая тривиальная и вопрос "эффективности" varchar в этом случае - последнее, о чём должен думать разработчик.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40008952
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийну а?

Хм, действительно, смысла в индексе для поиска такого телефона - полный ноль.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009000
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
demon1992Переделать не проблема (если быть конкретным, это поле номер телефона, я просто выберу функцией из строки только цифры), меня больше интересует, будет ли от этого реальная польза, или это все пережитки прошлого.


я бы просто уменьшил ширину(размер) поля. Телефон это всё таки не число.
Большие varchar поля могут негативно сыграть на сортировке. Хранятся то они всё равно в сжатом виде
Телефон - это действительно не-число. Весь телефонный биллинг опирается на это определение.
И если вы учитываете номерную ёмкость таксофонов (это могут быть шестнадцатеричные цифры [0-9A-F])
или если вам важно отличать 09 и 009 то для вас номер тех-средства - это строка. И ничего тут не поделать.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009011
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Симонов Денис
пропущено...
я бы просто уменьшил ширину(размер) поля. Телефон это всё таки не число.
Большие varchar поля могут негативно сыграть на сортировке. Хранятся то они всё равно в сжатом виде

Телефон - это действительно не-число. Весь телефонный биллинг опирается на это определение.
И если вы учитываете номерную ёмкость таксофонов (это могут быть шестнадцатеричные цифры [0-9A-F])
или если вам важно отличать 09 и 009 то для вас номер тех-средства - это строка. И ничего тут не поделать.
таксофоны практически вымерли.
в Питере их осталось 399 аппаратов (по данным Ростелекома за 2019 год),
да и те собираются ликвидировать нахрен.
обслуживание "нулевых" номеров на федеральном уровне планомерно прекращается.
некоторые операторы пока ещё предоставляют доступ к таким номерам.
в большинстве своём, с сотового на такой номер хрен позвонишь.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009014
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
demon1992>выигрыш от того, что поле varchar переделать в int

Например, в этом поле хранить количество чего/либо. Если отсортировать его как int, будет красиво, а если как строку - то так себе. Правда, начиная с 2.5 (вроде бы) и строки можно красиво сортировать, с учетом значения чисел в строке...
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009023
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо. Поскипаем таксофоны и нулевые. А какое максимальное число цифр биллинг может фиксировать?
Я подозреваю что на стыке мобильных операторов эта разрядная сетка может снова увеличится.

И если чисто технически идея срабатывает для одного оператора или ведомственной АТС то в глобальном
(мировом масштабе) инта может просто не хватить.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009026
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15.10.2020 18:14, mayton пишет:
> И если чисто технически идея срабатывает для одного оператора или ведомственной АТС то в глобальном
> (мировом масштабе) инта может просто не хватить.

101% пользователей не нужен глобус мирового масштаба
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009030
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно делайте. Скажите что получилось.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009047
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

- алло, это 9-99-99?
- да
- вызовите, пожалуйста, скорую, у меня палец в диске застрял.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009052
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот таким манером можно было и сложные номера выучить. Заменяешь каждую вторую цифру на букву а то и все
и придумываешь ассоциации. Как доменные имена вместо айпишников.

...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009170
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15.10.2020 20:27, mayton пишет:
> Автор: mayton. Вот таким манером можно было и сложные номера выучить. Заменяешь каждую вторую цифру на букву а то и все
> и придумываешь ассоциации. Как доменные имена вместо айпишников.

дык и на кнопочных по сию пору присутствует ABC-гедейка
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009178
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал тестовую БД, создал пару таблиц, заполнил одинаковыми данными.
Статистика индекса:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
    Index TABLE_INT_IDX1 (0)
        Root page: 56636, depth: 3, leaf buckets: 7701, nodes: 11000000
        Average node length: 11.33, total dup: 66, max dup: 1
        Average key length: 8.35, compression ratio: 1.08
        Average prefix length: 3.65, average data length: 5.35
        Clustering factor: 10999685, ratio: 1.00
        Fill distribution:
             0 - 19% = 0
            20 - 39% = 0
            40 - 59% = 1
            60 - 79% = 0
            80 - 99% = 7700

    Index TBL_CHAR_IDX1 (0)
        Root page: 3918, depth: 3, leaf buckets: 7780, nodes: 11000000
        Average node length: 11.44, total dup: 66, max dup: 1
        Average key length: 8.45, compression ratio: 1.41
        Average prefix length: 6.43, average data length: 5.45
        Clustering factor: 10999726, ratio: 1.00
        Fill distribution:
             0 - 19% = 1
            20 - 39% = 0
            40 - 59% = 0
            60 - 79% = 0
            80 - 99% = 7779 



Сделал запрос:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
select NEW_FIELD
from TBL_CHAR
where NEW_FIELD = '754197905425'

Plan
PLAN (TBL_CHAR INDEX (TBL_CHAR_IDX1))

------ Performance info ------
Prepare time = 31ms
Execute time = 31ms
Avg fetch time = 31,00 ms
Current memory = 4 461 497 488
Max memory = 5 301 318 608
Memory buffers = 262 144
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 12

select NEW_FIELD
from TABLE_INT
where NEW_FIELD = 754197905425

Plan
PLAN (TABLE_INT INDEX (TABLE_INT_IDX1))

------ Performance info ------
Prepare time = 32ms
Execute time = 31ms
Avg fetch time = 31,00 ms
Current memory = 4 461 497 968
Max memory = 5 301 318 608
Memory buffers = 262 144
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 12



Меня до сих пор продолжают уверять, что пользоваться индексами по варчар крайне нежелательно.(что по варчар он медленный и занимает много места, а вот по инту он быстрый и весит мало).
Я честно хочу понять, объясните плиз, в чем разница в индексах.
Может статья есть какая, или видос, буду рад любой инфе.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009182
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
16.10.2020 12:04, demon1992 пишет:
> Меня до сих пор продолжают уверять...
> Я честно хочу понять, объясните плиз...

поясняю: "питарасы, сэр!" (С)

им хлеба не надо.
лишь бы мозги заипать.
наивным юношам.

беги оттуда.
они не остановятся.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009183
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992Меня до сих пор продолжают уверять, что пользоваться индексами по варчар крайне нежелательно.(что по варчар он медленный и занимает много места, а вот по инту он быстрый и весит мало).

мифы и легенды

demon1992Я честно хочу понять, объясните плиз, в чем разница в индексах.

ключи индекса хранятся чуток по разному. Для строк в ключах хранится строка, для чисел и дат — число как double.
Префиксное сжатие используется в обоих случаях. Если и есть разница в эффективности то она настолько мала, что не стоит заморачиваться.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009186
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992Меня до сих пор продолжают уверять, что пользоваться индексами по варчар крайне нежелательно
кто? покажите мне этих людей. пусть выйдут на свет божий, покажут свою квалификацию.
demon1992Я честно хочу понять, объясните плиз, в чем разница в индексах.
да никакой нет, о чем я и говорил.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009189
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

меня вот что удивляет - сидят там какие-то херомоны в подвале, и советы дают. Ну пусть они сюда вылезут-то. Послушаем.
А так это какие-то рекомендации трактористов.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009191
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvпокажите мне этих людей. пусть выйдут на свет божий, покажут свою квалификацию.

Телепаю: это начальник топикстартера. Спорить с ним бесполезно, обучать - слишком поздно.
+1 к "беги оттуда".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009193
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
16.10.2020 12:55, kdv пишет:
>
> меня вот что удивляет - сидят там какие-то херомоны в подвале, и советы дают.
> Ну пусть они сюда вылезут-то. Послушаем.
> А так это какие-то рекомендации трактористов.


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009218
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

kdvпокажите мне этих людей. пусть выйдут на свет божий, покажут свою квалификацию.

Телепаю: это начальник топикстартера. Спорить с ним бесполезно, обучать - слишком поздно.
+1 к "беги оттуда".

У нас как-то один банк софтину пытался купить, но напоролись на ... "отдел АСУ" этой конторы.
Какая-то бумага, заверенная очень страшными подписями, в которой указано, что с данном банке в качестве СУБД используется сервер MS SQL 2005, и больше ничего.
Начальник отдела АСУ: "насколько мне известно, в архитектуре классов Delphi есть адаптеры, которые позволяют приложению использовать любую СУБД, могу продемонстрировать; не вижу проблем переделать". Помню, я тогда просто офигел.
Ну и ещё какая-то дичь "я слышал, что они <не помню, уже, кто "они"> плохо взаимодействуют, поэтому сделайте <дальше полный п....ц>"
...всё решилось, но, конечно, не "адаптерами", а на административном уровне, хороший опыт.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009251
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не, никто не заставляет ничего писать, убеждали но не принуждали.
Это уже мое, мне было интересно самому во всем разобраться.

Всем большое спасибо за участие.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009259
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992убеждали но не принуждали.
кто. нёс. эту. ересь. прошу сообщить.
...
Рейтинг: 0 / 0
VARCHAR VS INT
    #40009274
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Расстрельные списки.
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / VARCHAR VS INT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]