powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выделить удаленные записи в Grid
25 сообщений из 179, страница 7 из 8
Выделить удаленные записи в Grid
    #37145825
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T Нашел альтернативу использованию PACK.
Задумка такая: заменяем в удаленных записях значение полей используемых в индексах на заведомо несуществующие.

Таким образом при выборке по индексу он даст только не помеченные на удаление записи.


кАшмар.

нивабиду, просто веселое настроение,
зовите санитаров - пусть устанавливают диагноз:
параноидальные кошмары сменяются генерацией буйных идей.

итак кулинар зашоренный,
за руками не следит,
у Димы вроде прояснилось, затем Остапа понесло.

Дима, итак 2-ю часть марлезонского балета заканчиваем?
мы увидели, что как-бы есть оптимизация,
и тормозов нет от бинарного индекса?
2-ю часть заканчиваем? или еще тесты будут?

в 3-й части балета тезис будет: "А у нас в квартире газ, а у вас?"
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37145827
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЗадумка такая: заменяем в удаленных записях значение полей используемых в индексах на заведомо несуществующие. [/b]
Таким образом при выборке по индексу он даст только не помеченные на удаление записи.
PRIMARY KEY можно не трогать , т.к. он уникальный, а запросы с указанием значения помеченного на удаление - нарушение целостности.
...
Какие будут доводы против такого подхода?
...

А так же нельзя использовать с ограничением Candidat/FOREIGN KEY, а так же Rule и до кучи триггеры, те можно только для индексов regular
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37145960
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юристишко-выпускник2-ю часть заканчиваем? или еще тесты будут?
Заканчиваем. Тестов достаточно, идея родилась, надо ее на реальных прогах испытывать, чем и займусь.

PaulWistА так же нельзя использовать с ограничением Candidat/FOREIGN KEY, а так же Rule и до кучи триггеры, те можно только для индексов regular
Это да, только для таких вещей есть MSSQL, в DBFе не использую целостность встроенную, так исторически сложилось
Пробовал целостность пользовать еще в VFP5, пару раз сглючило так что PRIMARY KEY задвоился и таблица вообще перестала открываться, после этого только new_id() в контейнере хранил, в VFP9 вообще без контейнера работаю. Никого не агитирую делать именно так, это у меня так сложилось с учетом специфики работы и обслуживания моих приложений.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37146024
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЭто да, только для таких вещей есть MSSQL, в DBFе не использую целостность встроенную, так исторически сложилось
...

Мда, грустно,...даже нечего сказать, мда....

Dima T...
Пробовал целостность пользовать еще в VFP5, пару раз сглючило так что PRIMARY KEY задвоился и таблица вообще перестала открываться, после этого только new_id() в контейнере хранил, в VFP9 вообще без контейнера работаю. Никого не агитирую делать именно так, это у меня так сложилось с учетом специфики работы и обслуживания моих приложений.

В 5-ке действительно был "глюк" с фильтрованными индексами.

Кстати, а как до использования NewID вычислялjcm следующее значение?

Вот недавний тред почему так делать неправильно
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37146256
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWistКстати, а как до использования NewID вычислялjcm следующее значение?
В 9-ке встроенный автоинкримент использую.
В 6-ке пробовал несколько вариантов, окончательный такой:
Код: plaintext
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.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
***********************************
* Генератор уникальных ключей
***********************************
* после упаковки делать delete file *.id
Func NewId
Para tcDbfName

local lnRetId, lcIdVar, lnF, lcS, lnPos, lcIdField, lcFileId, lcSe, lnId, lnF, lnStop, lcFVar
* Получаем текущее Id для таблицы tcDbfName
lcIdVar = 'gn' + tcDbfName + 'NewId'
if type('plQuickId') = 'L' and plQuickId and type(lcIdVar) = 'N'
	* Режим быстрого монопольного получения Id
	lnRetId = &lcIdVar
	&lcIdVar = &lcIdVar +  1 
else
	* Если до этого был "быстрый режим", то закрываем файлы *.Id
	if type('gcTableList') = 'C' and !(type('plQuickId') = 'L' and plQuickId)
		do while !empty(gcTableList)
			lnPos = at(';', gcTableList)
			if lnPos =  0 
				lcS = gcTableList
				gcTableList = ''
			else
				lcS = left(gcTableList, lnPos -  1 )
				gcTableList = substr(gcTableList, lnPos +  1 )
			endif
			lcVar = 'gn' + lcS + 'NewId'
			if type(lcVar) = 'N'
				release &lcVar
			endif
			lcVar = 'gn' + lcS + 'File'
			if type(lcVar) = 'N'
				fclose(&lcVar)
				release &lcVar
			endif
			
		enddo
		release gcTableList
	endif
	* Режим сетевого получения Id
	lcFileId = fullpath(tcDbfName + '.dbf')
	if !file(lcFileId)
		MessageBox('Не найден файл ' + UPPER(tcDbfName) + ".DBF",  16 , 'ОШИБКА')
		quit
	endif
	lcFileId = left(lcFileId, rat('.', lcFileId)) + 'id'
	if file(lcFileId)
		* Читаем текущее значение
		lnStop = seconds() +  20 
		Do while .t.
			lnF = fopen(lcFileId,  12 )
			If lnF <  0 
				If lnStop < seconds()
					If messagebox("Не могу открыть файл " + lcFileId + chr( 13 ) + "Попробовать еще ?",  32  +  4 , "Функция NEW_ID()") =  6 
						lnStop=seconds() +  20 
					Else
						Quit
					Endif
				Endif
				Inkey( 0 . 1 )
			Else
				Exit
			Endif
		Enddo
		lnRetId = val(fgets(lnF))
		Fseek(lnF,  0 ,  0 )
	else
		lnRetId =  0 
		lnF = fcreate(lcFileId)
		if(lnF <  0 )
			MessageBox('Не удалось создать файл ' + lcFileId,  16 , 'ОШИБКА')
			quit
		endif
	endif

	If lnRetId =  0 
		* Если нет файла с Id или в нет  0 , то рассчтываем Max(Id) +  1 
		lcIdField = 'n' + tcDbfName + 'id'
		lcSe = str(sele(), 2 )
		select max(&lcIdField) as nId from &tcDbfName into cursor calc_id
		lnRetId = calc_id.nId +  1 
		Use in calc_id
		Sele &lcSe
	endif
	* Сохраняем результат для следующего запроса
	if type('plQuickId') = 'L' and plQuickId
		* Быстрое монопольное считывание
		if type(lcIdVar) = 'U'
			public &lcIdVar
		endif
		&lcIdVar = lnRetId +  1 
		Fputs(lnF, '0') && в файл сохраняем  0  для последующего расчета
		* Сохраняем хэндл файла
		if type('gcTableList') = 'U'
			public gcTableList
			gcTableList = tcDbfName
		else
			gcTableList = gcTableList + ';' + tcDbfName
		endif
		lcFVar = 'gn' + tcDbfName + 'File'
		if type(lcFVar) = 'U'
			public &lcFVar
		endif
		&lcFVar = lnF
	else
		* Обычное считывание. Сохраняем в файл
		Fputs(lnF, alltrim(str(lnRetId +  1 )))
		fclose(lnF)
	endif
endif
Return lnRetId

PaulWistВот недавний тред почему так делать неправильно
Я в курсе, прежде чем нарушать правила я их тщательно изучаю. Все плюсы и прелести целостности знаю, и даже использую, только в базах MSSQL.
DBF-ные базы у меня небольшие: 10-20 табличек, за ними можно и без целостности уследить.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37146262
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T Нашел альтернативу использованию PACK.
Задумка такая: заменяем в удаленных записях значение полей используемых в индексах на заведомо несуществующие.

Насколько я понимаю, цель подобной замены - это повторное использование записей, ранее помеченных как удаленные?

Данная концепция, не то, чтобы ошибочная, но она является "не естесственной" для работы с любыми данными. "Умерла, так умерла" (с). Какие проблемы Вы "поимеете" на этом пути:

1. Придется "оборачивать" команды по созданию новых записей в процедуры, которые сначала будут искать записи, помеченные как удаленные, а потом уже, если таких записей нет, физически создавать новые записи.

2. Придется просто выбросить все команды групповой вставки данных вроде APPEND FROM или INSERT-SQL, поскольку, очевидно, в них невозможно встроить предварительный поиск записей, ранее помеченных как удаленные

3. Сама по себе процедура восстановления записей, ранее помеченых как удаленные - не тривиальна. Например, довольно не тривиально решается задача конфликтов совместного доступа. Это когда два пользователя одновременно нашли запись, помеченную как удаленную, но использовать ее может только один из них. А второй должен отказаться от притязаний на эту запись и продолжить поиск.

4. Если в базе данных используются Memo-поля, то периодическая упаковка мемо-полей - не избежная и обязательная процедура. При этом экономия на упаковке самих таблиц - выглядит странно.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37146280
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимоВладимирМСледовательно, в тестовых примерах недопустимо использование Count(*), поскольку она, скорее, вводит в заблуждение
+ стопитьсот

а в реальных приложениях не использовать запросы с сортировкой, суммированием, группировкой и т.д.
Почему это? Речь шла только и исключительно о запросе вида

Код: plaintext
select count(*) from ...

Было показано, что анализ производительности, основанный на подобных запросах приводит к ложным выводам. Про сортировку, суммирование и группировку вообще ничего не говорилось. Будьте внимательнее.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37146310
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМпрошелмимопропущено...

+ стопитьсот

а в реальных приложениях не использовать запросы с сортировкой, суммированием, группировкой и т.д.
Почему это? Речь шла только и исключительно о запросе вида

Код: plaintext
select count(*) from ...

Было показано, что анализ производительности, основанный на подобных запросах приводит к ложным выводам. Про сортировку, суммирование и группировку вообще ничего не говорилось. Будьте внимательнее.

теоретик,
разговор про использование бинарных индексов
и т.д. и т.п.

будьте внимательны, следите за движениями рук.

анализ производительности, произведенный
анализом какого-то одно запроса - это бред
и подтасовка фактов.

подтасовывать факты - Вы любитель,
+ писать про то, что мыслит Ваш собеседник - иными
словами писать домыслы.

еще раз вопрос:
зачем Вам - не проф.разработчику, лазить целыми днями
по форумам и пытаться учить разработчиков с опытом?
остановитесь на детях неразумных и найдите
свою нишу на форуме, где Вас не назовут нехорошим словом.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37146314
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T...Я в курсе, прежде чем нарушать правила я их тщательно изучаю. Все плюсы и прелести целостности знаю, и даже использую, только в базах MSSQL.
DBF-ные базы у меня небольшие: 10-20 табличек, за ними можно и без целостности уследить.

Опять же мда-а-а..., и транзакции значит не используются, ....мда...
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37146352
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМDima T Нашел альтернативу использованию PACK.
Задумка такая: заменяем в удаленных записях значение полей используемых в индексах на заведомо несуществующие.

Насколько я понимаю, цель подобной замены - это повторное использование записей, ранее помеченных как удаленные?
да
ВладимирМДанная концепция, не то, чтобы ошибочная, но она является "не естесственной" для работы с любыми данными. "Умерла, так умерла" (с).
Почти такую же концепцию практикуют многие СУБД, например MS SQL: при удалении записи место в файле помечается свободным и может быть использовано повторно в будущем.
ВладимирМКакие проблемы Вы "поимеете" на этом пути:
1. Придется "оборачивать" команды по созданию новых записей в процедуры, которые сначала будут искать записи, помеченные как удаленные, а потом уже, если таких записей нет, физически создавать новые записи.

3. Сама по себе процедура восстановления записей, ранее помеченых как удаленные - не тривиальна. Например, довольно не тривиально решается задача конфликтов совместного доступа. Это когда два пользователя одновременно нашли запись, помеченную как удаленную, но использовать ее может только один из них. А второй должен отказаться от притязаний на эту запись и продолжить поиск.
Это не проблема, уже есть мысли что должно быть в моей функции AppendBlank() которая все это будет делать.
Попытку одновременного использования учту в коде.

ВладимирМ2. Придется просто выбросить все команды групповой вставки данных вроде APPEND FROM или INSERT-SQL, поскольку, очевидно, в них невозможно встроить предварительный поиск записей, ранее помеченных как удаленные
Выброшу: APPEND FROM практически не использую, INSERT-SQL заменю на AppendBlank() c REPLACE

ВладимирМ4. Если в базе данных используются Memo-поля, то периодическая упаковка мемо-полей - не избежная и обязательная процедура. При этом экономия на упаковке самих таблиц - выглядит странно.
Мемополя не использую.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37146364
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юристишко-выпускниканализ производительности, произведенный
анализом какого-то одно запроса - это бред
и подтасовка фактов.
Вот и я о том же, запрос "select count(*) from ..." резко выделяется среди остальных типов запросов. Это говорит о том что для такого типа запросов в движке прописан отдельный способ их выполнения.
Стоит только добавить что-то к запросу и он начинает вписываться в общую картину, например "select count(*), max(ID) from ..."
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37146928
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T

Кстати, при выбранной стратегии использования записей, ранее помеченных как удаленные, индекс по Deleted() становится жизненно необходим, поскольку будет постоянно выполняться поиск именно записи помеченной как удаленная.

С другой стороны, поскольку таких записей, очевидно будет очень мало, то факт наличия такого индекса приведет к тормозам в "обычных" запросах.

Стоит ли "овчинка выделки"?
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147050
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ Dima T

Кстати, при выбранной стратегии использования записей, ранее помеченных как удаленные, индекс по Deleted() становится жизненно необходим, поскольку будет постоянно выполняться поиск именно записи помеченной как удаленная.

С другой стороны, поскольку таких записей, очевидно будет очень мало, то факт наличия такого индекса приведет к тормозам в "обычных" запросах.

Стоит ли "овчинка выделки"?
Нет, индекс по Deleted() как раз и не нужен. По BINARY индексу поиск невозможен, он только в помощь оптимизатору запросов используется.
У меня есть обычный индекс, есть значение которое я пишу в удаляемые записи чтобы они не мешали выборкам (значение которое не используется при нормальной работе, например, -1). Вот этот -1 я и буду искать по этому индексу.

Например есть таблица c индексами:
Код: plaintext
1.
2.
3.
create table Nakl (nNaklId i autoinc, nNom i, tDate t, nClientId i, nSum y)
index on nNaklId tag nNaklId
index on nClientId tag nClientId
index on tDate tag tDate
nClientId - не может быть -1 (ограничение заложенное при проектировании)
Удаление будет так:
Код: plaintext
1.
repl in Nakl nClientId with - 1 , tDate with {}
delete in Nakl
Добавление так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
set deleted off
if indexseek(- 1 , .T., 'Nakl', 'nClientId') and deleted('Nakl')
  recall in Nakl
  blank in Nakl default autoinc
else
  append blank in Nakl
endif
set deleted on
Это заготовки, демонстрирующие принцип работы, я их доработаю чтобы просто вызывать с именем таблицы.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147066
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юристишко-выпускниканализ производительности, произведенный
анализом какого-то одно запроса - это бред
и подтасовка фактов.
Именно на этот факт мы с Dima T и указали. На очень специфичный способ выполнения запроса с Count(*). И показали, что в любых других запросах статистика производительности получается совершенно иная.

Тем не менее, лично Вы почему-то упорно игнорирует все другие типы запросов и настаиваете на том, что анализ производительности надо выполнять только и исключительно по запросу Count(*). Почему, собственно?

С моей точки зрения, именно это и называется "бред и подтасовка фактов".

Кстати, чтобы опять не скатится в перебранку, приведите свой собственный тест, который показал бы правоту Ваших слов.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147102
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНет, индекс по Deleted() как раз и не нужен. По BINARY индексу поиск невозможен, он только в помощь оптимизатору запросов используется.
Он также используется в любых оптимизируемых выражениях. В частности, в любых операциях поиска с FOR-условием. А это можно сделать в команде LOCATE

Код: plaintext
1.
2.
select Nakl
set order to  0 
locate for deleted()

Dima TУ меня есть обычный индекс, есть значение которое я пишу в удаляемые записи чтобы они не мешали выборкам (значение которое не используется при нормальной работе, например, -1). Вот этот -1 я и буду искать по этому индексу.
Это означает, что у Вас не будет контроля уникальности первичного ключа. Впрочем, можно просто инвертировать значение ключа. Менять знак, оставляя абсолютное значение без изменения. Соответственно, просто искать значения меньше нуля

В общем-то, верю, что можно написать. Просто, не вижу смысла. Это значительно более громоздкое решение, чем периодическая упаковка.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147121
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМЮристишко-выпускниканализ производительности, произведенный
анализом какого-то одно запроса - это бред
и подтасовка фактов.
Именно на этот факт мы с Dima T и указали. На очень специфичный способ выполнения запроса с Count(*). И показали, что в любых других запросах статистика производительности получается совершенно иная.

Тем не менее, лично Вы почему-то упорно игнорирует все другие типы запросов и настаиваете на том, что анализ производительности надо выполнять только и исключительно по запросу Count(*). Почему, собственно?

С моей точки зрения, именно это и называется "бред и подтасовка фактов".

Кстати, чтобы опять не скатится в перебранку, приведите свой собственный тест, который показал бы правоту Ваших слов.

Что Вы от меня хотите добиться?

Зачем теоретику,
который не имеет отношения к реальной разработке ПО
какие-то тесты, знания и т.д.?
Вы - вредитель. Вам об этом открыто заявляют.

В ходе беседы мы определились,
что "тормозов" нет, миллисекунды и т.д.
не существенны, что возможна разработка ПО и
возможны рек-и по использованию бин.индексов (целый список - лень писать).
Паковка также ежедневно, а то и ежемесячно, а то и вообще никогда
не практикуется по множеству причин (целый список - лень писать).

Далее Вы вместе с Димой продолжаите нести пароноидальный бред и постить безумные идеи -
они веселят, не более того.
Ок - я сижу и наблюдаю.

Не пишите про "тормоза" индекса.
"Тормоза" это не индексы - а нечто иное.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147219
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМDima TУ меня есть обычный индекс, есть значение которое я пишу в удаляемые записи чтобы они не мешали выборкам (значение которое не используется при нормальной работе, например, -1). Вот этот -1 я и буду искать по этому индексу.
Это означает, что у Вас не будет контроля уникальности первичного ключа. Впрочем, можно просто инвертировать значение ключа. Менять знак, оставляя абсолютное значение без изменения. Соответственно, просто искать значения меньше нуля
Будет уникальность, во-первых я специально nNaklId не трогаю в своем коде.
Во-вторых присвоение свежего ID:
Код: plaintext
blank in Nakl default autoinc
Контроль целостности руками прописать придется. У меня оно и так уже руками прописано.
Хотя можно и штатный контроль целостности оставить добавив во все таблицы пустую запись с ID=-1
ВладимирМВ общем-то, верю, что можно написать. Просто, не вижу смысла. Это значительно более громоздкое решение, чем периодическая упаковка.
Ничего громоздкого:
1. сделать три функции MyDelete(), MyAppend() и MarkDeleted() для проверки что все помеченные были правильно удалены.
2. заменить в коде delete in MyTable на MyDelete('MyTable') и append blank in MyTable на MyAppend('MyTable')

Вобщем сделаю - выложу.

PS Это можно пользовать в любой версии фокса, у меня на 6-ке еще много чего работает.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147238
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юристишко-выпускникЧто Вы от меня хотите добиться?
Примеров, а не голословных утверждений. Хоть каких-нибудь примеров, которые можно было бы реально проверить. Потестировать.

Юристишко-выпускникВ ходе беседы мы определились,
что "тормозов" нет, миллисекунды и т.д.
не существенны,
Стоп. Либо "тормозов нет", либо "тормоза есть, но не существенны". В данном споре - это принципиальная разница.

Юристишко-выпускникчто возможна разработка ПО и
возможны рек-и по использованию бин.индексов (целый список - лень писать).
Да, конечно. Только вот Вы не привели НИ ОДНОЙ рекомендации по использованию бин.индексов. Кроме, разумеется, голословных утверждений, что их надо использовать...

Юристишко-выпускникПаковка также ежедневно, а то и ежемесячно, а то и вообще никогда
не практикуется по множеству причин (целый список - лень писать).
Да, конечно. Только вот Вы опять не привели НИ ОДНОЙ причины, почему команду PACK не надо давать вообще.

Собственно, в этом-то и проблема. Вы НИЧЕГО не предлагаете. НЕТ Ваших предложений которые можно было бы оценить и сказать: "Да, действительно. Как же это я сам до такого не додумался. Вот, оказывается, в чем я ошибался."

Спор ведется по принципу:

- Использование (...) показывает (...)
- Идиоты!
- Но ведь видно же (...)
- Зовите саниторов!
- Ну, как же...

И чего Вы хотите после ТАКОГО способа ведения дискуссии? Вы привели хотя бы ОДИН аргумент, за который можно было бы "уцепиться" и "повертеть" с разных сторон?
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147398
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМСтоп. Либо "тормозов нет", либо "тормоза есть, но не существенны". В данном споре - это принципиальная разница.


Вам проф.разработчики высказали свои приоритеты.
Миллисекунды положенные на чашу весов
с оторванностью от конеч-го пользователя,
не знанием конечн.условий эксплуатации ПО проигрывают,
и мы не усматриваем в милисек-х какого-то вреда и ущербности ПО.

ВладимирМСпор ведется по принципу:

- Использование (...) показывает (...)
- Идиоты!
- Но ведь видно же (...)
- Зовите саниторов!
- Ну, как же...


Да. Вы - идиот. В том, что ввязались в спорт с проф. разработчиками


ВладимирМИ чего Вы хотите после ТАКОГО способа ведения дискуссии? Вы привели хотя бы ОДИН аргумент, за который можно было бы "уцепиться" и "повертеть" с разных сторон?

От Вас я не хочу ничего, кроме как то, чтобы пошли на свой фоксклаб,
и там терли носы детям.
Аргументов приведено множество.
Аргумент понятный проф.разработчику непонятен теоретику.

Тем кому нужно, все поняли.
В след.раз утверждать про "тормоза" на таблицах с миллионами записей и про ежедневную паковку не стоит.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147489
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юристишко-выпускникДалее Вы вместе с Димой продолжаите нести пароноидальный бред и постить безумные идеи -
они веселят, не более того.
Ок - я сижу и наблюдаю.
Я деньги зарабатываю на безумных идеях.
И большинство связано с повышением производительности классических подходов.
Иногда удается вместо классического решения найти безумное, которое работает в разы быстрее.
И если в задаче производительность стоит на первом месте - безумство оправданно.

Поэтому и провожу всегда всякие тесты на скорость, проверяю все варианты.
То что для тебя непринципиальная потеря времени - для меня важно.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147533
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЯ деньги зарабатываю на безумных идеях.

странно, а чем я занимаюсь?

гмм, замечу, у меня федерик констанс на руке,
а ботинки - честер.

наверное нужно начать заниматься безумством,
чтобы сменить на бригет и позалини?
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147541
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юристишко-выпускникАргументов приведено множество.
Ссылку, пожалуйста. Хотя бы на один аргумент.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147559
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМЮристишко-выпускникАргументов приведено множество.
Ссылку, пожалуйста. Хотя бы на один аргумент.

теоретик, разговора не получится,
я Вас не понимаю.

там по-еврейски
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=830283&msg=10315242

+ читать аргументы тех, кто принимал участие в обсуждении
кроме Вас и Димы.

далее, там Вас тоже ткнули носом в то,
что для практиков не нужно обсасывание всего и всея
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=832460&msg=10312450
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147587
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юристишко-выпускникВладимирМпропущено...
Ссылку, пожалуйста. Хотя бы на один аргумент.
теоретик, разговора не получится,
я Вас не понимаю.

там по-еврейски
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=830283&msg=10315242

+ читать аргументы тех, кто принимал участие в обсуждении
кроме Вас и Димы.

далее, там Вас тоже ткнули носом в то,
что для практиков не нужно обсасывание всего и всея
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=832460&msg=10312450
И после этого Вы называете себя "профессионалом"? Ну, ну...
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37147624
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМИ после этого Вы называете себя "профессионалом"? Ну, ну...

конечно, - не теоретиком.

с Вами договориться не получится,
я вспоминаю беседу про "абстракцию".

еще раз:
- для профи важна венгерская нотация;
- для Вас суть беседы сводится к тому, что "можно Машку за ляжку и еще и на печи".

беседа превращается в хрен знает что и обо всем и не о чем ...
потом, когда Вы надоедаете - Вас одергивают,
что Вы не с детьми беседуете,
Вы - не унимаетесь все одно.

еще раз:
то что для Вас "тормоза",
для меня "без разницы - закрыл глазки и не вижу".

у меня задача - не теорию писать.

когда объясните мне,
зачем лазить по форумам, поучать и т.д., - тогда
может поговорим.
...
Рейтинг: 0 / 0
25 сообщений из 179, страница 7 из 8
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выделить удаленные записи в Grid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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