иврит появляется как вопросительные знаки в netbeans

Обычно вы начинаете с аналитической функции count(*), которая приводит к компактному SQL.

Недостатком этого подхода является то, что данные должны быть отсортированы (см. Операцию WINDOW SORT). Подход GROUP BY позволяет избежать сортировки, поскольку можно использовать HASH GROUP BY, что может привести к повышению производительности.

Ваш пример немного сложнее, так как вы используете не таблицу, а представление, которое объединяет три таблицы - это соединение выполняется дважды для GROUP BY и для подробных данных; что, конечно, не оптимально.

Итак, я начну с версии запроса для аналитической функции (возможно с опцией PARALLEL).

Если вы хотите попробовать GROUP BY, возможна легкая версия:

1) сгруппировать только дублированные ключи

2) заставить OUTER JOIN назначить MULTI_FLAG [ 1117]

пример с планом выполнения, приведенным ниже - простой тест с вашими данными

with dups as (
select firstname,lastname  from tmp
group by firstname,lastname
having count(*) > 1)
select tmp.FIRSTNAME, tmp.LASTNAME, tmp.MARK,
case when dups.firstname is not NULL then 1 else 0 end as MULTI_FLAG
from tmp
left outer join dups on tmp.firstname = dups.firstname and tmp.lastname = dups.lastname;

Вам все еще нужно получить доступ к вашему представлению дважды, но окончательное соединение будет быстрее (особенно если у вас есть только небольшое количество дублированные ключи).

--------------------------------------------------------------------------------------
| Id  | Operation             | Name | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT      |      |   105K|    26M|       |  1673   (1)| 00:00:21 |
|*  1 |  HASH JOIN RIGHT OUTER|      |   105K|    26M|    11M|  1673   (1)| 00:00:21 |
|   2 |   VIEW                |      |   105K|    10M|       |   128   (4)| 00:00:02 |
|*  3 |    FILTER             |      |       |       |       |            |          |
|   4 |     HASH GROUP BY     |      |   105K|    10M|       |   128   (4)| 00:00:02 |
|   5 |      TABLE ACCESS FULL| TMP  |   105K|    10M|       |   125   (1)| 00:00:02 |
|   6 |   TABLE ACCESS FULL   | TMP  |   105K|    15M|       |   125   (1)| 00:00:02 |
--------------------------------------------------------------------------------------
7
задан iddober 19 March 2009 в 16:50
поделиться

6 ответов

Удостоверьтесь, что NetBeans создан с кодированием, которое поддерживает еврейские символы. От NetBeans Wiki:

Изменить кодирование языка для проекта:

  1. Щелкните правой кнопкой по узлу проекта в окнах Projects и выберите Properties.
  2. Под Источниками выберите кодовое значение из Кодирующего выпадающего поля.
3
ответ дан 7 December 2019 в 05:30
поделиться

Как точно Вы запускаете программу? Где это печатает свой вывод? Это могло быть столь же просто как netbeans или консоль с помощью различных шрифтов, один из которых не включает еврейские символы.

Для устранения проблем кодирования во время компиляции попытайтесь заменить еврейские символы их управляющими последовательность Unicode и посмотрите, отличается ли результат.

1
ответ дан 7 December 2019 в 05:30
поделиться

Обычно это - кодировка по умолчанию на:

Панель управления \региональный и опции языка \усовершенствованный
(Выберите иврит на комбинации),

Необходимо будет перезапустить после изменения этих настроек.

0
ответ дан 7 December 2019 в 05:30
поделиться

Иврит установлен по умолчанию? Мог быть то, что пакет языка не установлен?

Панель управления> Региональный и Опции Языка> Языки. Выберите опцию 'Install files for complex script and right-to-left languages (including Thai)'. Это установит поддержку иврита. Вам, вероятно, будет нужен диск ОС.

1
ответ дан 7 December 2019 в 05:30
поделиться

Я думаю, что неправильно понял Вашу проблему (я думал, что символы не отображались в редакторе NetBeans правильно). Точные шаги для решения проблемы могли бы зависеть от версии ОС, на которой Вы работаете. Win2K, WInXP и Vista у всех есть немного отличающиеся диалоговые окна и формулирующий, к сожалению.

Смотрите на эту страницу справки для JVM:

Это кажется, что Вы уже настроили систему как он, должен быть, но дьявол находится в деталях - существует несколько различных настроек 'локали' в системе, которая могла бы влиять на это (и кто знает JVM могла бы добавить один или два самостоятельно).

1
ответ дан 7 December 2019 в 05:30
поделиться

Вы не можете установить "file.encoding" свойство с System.setProperty(); это должно быть установлено на командной строке, когда JVM запускается с -Dfile.encoding=UTF-8. Значение этого свойства читается во время инициализации JVM и кэшируется. К этому времени Ваш main метод вызывается, значение кэшировалось, и изменения в свойстве проигнорированы.

2
ответ дан 7 December 2019 в 05:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: