2015-06-04 2 views
0

У меня есть таблица базы данных с 50 000 записей данных о клиентах. Когда я запускаю этот запрос:Странное поведение двух простых операторов SQL (ошибка), а одно - сбой

SELECT * FROM customer -> В результате я получаю только 22 000 записей данных.

Когда я запускаю этот запрос:

SELECT * FROM customer WHERE customer_id < 50.001

-> Результат является 50.000 записей данных

Я сделал CHECKTABLE, но нет никаких сообщений об ошибках.

У кого-нибудь есть идеи? Вчера все еще было хорошо в базе данных и работает. Но сегодня у меня есть эта проблема.

+1

Что произойдет, если вы сделаете выбор count (*)? Какой инструмент вы используете для создания sql? Может ли это иметь ограничения на количество строк? Вы не пишете о том, что терпит крах. –

+0

У вас была транзакция, открытая на сервере? Перезапустите его и повторите попытку ... – Tirma

+0

Невозможно, чтобы предложение 'where' увеличивало * количество строк в SQL Server. Существует много возможных проблем: запросы выполняются в разных базах данных; во втором запросе есть предложение 'where'; ваше приложение каким-то образом фильтрует строки; и так далее. –

ответ

0

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

Смежные вопросы