Различие между различными типами SQL? [закрытый]

Чаще всего я использую это для синхронизации доступа к списку или карте, но я не хочу блокировать доступ ко всем методам объекта.

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

private List<Foo> myList = new ArrayList<Foo>();
private Map<String,Bar) myMap = new HashMap<String,Bar>();

public void put( String s, Bar b ) {
  synchronized( myMap ) {
    myMap.put( s,b );
    // then some thing that may take a while like a database access or RPC or notifying listeners
  }
}

public void hasKey( String s, ) {
  synchronized( myMap ) {
    myMap.hasKey( s );
  }
}

public void add( Foo f ) {
  synchronized( myList ) {
    myList.add( f );
// then some thing that may take a while like a database access or RPC or notifying listeners
  }
}

public Thing getMedianFoo() {
  Foo med = null;
  synchronized( myList ) {
    Collections.sort(myList);
    med = myList.get(myList.size()/2); 
  }
  return med;
}
29
задан S.L. Barth - Reinstate Monica 21 July 2012 в 21:05
поделиться

6 ответов

SQL - это язык структурированных запросов. компьютерный язык базы данных разработан для управления данными в реляционных системы управления базами данных (СУБД).

PostgreSQL является объектно-реляционной система управления базами данных (ORDBMS). 1 Он выпущен под Лицензия в стиле BSD и поэтому бесплатна программного обеспечения. Как и многие другие программ с открытым исходным кодом, PostgreSQL - это не контролируется ни одной компанией, но имеет глобальное сообщество девелоперов и компаний по разработке это.

SQLite - это ACID-совместимый встроенный система управления реляционной базой данных содержится в относительно небольшом (~ 225 KB 1 ) Библиотека программирования на C. В исходный код SQLite находится в общественное достояние.

MySQL (произносится / maɪˌɛskjuːˈɛl / 1 Мой SQL, или «Мое продолжение» / maɪˈsiːkwəl /) является реляционным система управления базами данных (СУБД) 2 который насчитывает более 6 миллионов установки. 3 MySQL означает «Мой язык структурированных запросов». В программа работает как сервер, обеспечивающий многопользовательский доступ к ряду базы данных.

20
ответ дан 28 November 2019 в 01:34
поделиться

PostgreSQL, SQLite, MySQL, MS SQL - это всего лишь системы управления базами данных от разных поставщиков

11
ответ дан 28 November 2019 в 01:34
поделиться

Если вы хотите узнать о различных диалектах SQL ( Язык структурированных запросов )
Посмотрите здесь:

http://en.wikibooks.org/wiki/SQL_dialects_reference

11
ответ дан 28 November 2019 в 01:34
поделиться

PostgreSQL, SQLite, MySQL, MSSQL, Sybase = системы управления реляционными базами данных (RDBMS).

SQL, TSQL = фактические языки, используемые вышеупомянутыми системами баз данных. Хотя (теоретически) SQL стандартизован, на практике у каждого поставщика есть свои собственные «расширения» (варианты) языка - это означает, что SQL, написанный для MySQL, может не работать, например, под Sybase.

3
ответ дан 28 November 2019 в 01:34
поделиться

Разные поставщики = разные идеи и концепции. Как и любая другая проблема программирования ... каждый разработчик решает ее по-своему, и это здорово. :-) Узнавать об этих небольших различиях, а иногда и о больших «путаницах» - это хорошо.

1
ответ дан 28 November 2019 в 01:34
поделиться
Другие вопросы по тегам:

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