Поворот объединения в подзапросе может быть не лучшим решением
, если у вас уже есть индекс для внешнего ключа для каждой пересчитанной таблицы
table Artist index on column (ArtistId)
table PlaylistTrack index on column (TrackId)
table Playlist index on column (PlaylistId)
table MediaType index on column ( MediaTypeId )
.....
для производительности, убедитесь, что индекс включен
table track a composite index on column (AlbumId, TrackId, MediaTypeId )
table Album a cmposite index on column ( AlbumId, ArtistId )
MFC почти устарел теперь. Я рекомендовал бы использовать WTL вместо этого.
Хорошо это - также не хорошая идея только, чтобы начать программировать для GUI в C++, когда существует столько хороших платформ, доступных как спокойная кросс-платформенная платформа.
Некоторые еретические мнения...
Я не рекомендовал бы C++ для записи сложного Windows GUIs - комбинации языка/библиотеки как C# или Delphi настолько более продуктивны. Если бы Вы хотите войти в программирование на C++, я предложил бы использовать его для записи многопоточного какого-то сервера - простой веб-сервер сделает для начинающих.
И если Вы действительно хотите понять базовый Windows APIs, я думаю, что существует что-то, чтобы быть сказанным для записи простого приложения (как, скажем, упрощенная версия ноутбука) в C (не C++). Вы только захотите сделать это однажды, но Вы изучите много в процессе.
И прежде чем любой запускает безумно вниз голосующий, позвольте мне сказать, что я - программист на C++ более чем 20 лет, стоя и действительно люблю язык.
Charles Petzold, "Программирующим Windows 5th Edition", является Библия для программирования Windows.
Так как Вы говорите выполнение программирования GUI C# в течение приблизительно 3 лет я предположу, что означает Windows Forms. Один способ опустить Ваш палец ноги в воду состоит в том, чтобы помнить, что WinForms является действительно просто объектно-ориентированной оберткой вокруг user32
. Так загружают Отражатель и смотрят на способ, которым реализованы некоторые средства управления. Вы будете видеть что эти странные сообщения как WM_PAINT
и WM_KEYDOWN
накачаны к WndProc
из различных средств управления Windows. В простом Win32 или программировании MFC, все еще продолжается то же самое. Выполнение этого позволит Вам медленно отогнуть слои лука; Вы получите лучшее ощущение того, как Windows Forms работают, также. Оттуда, я рекомендовал бы забрать Windows Программирования Petzold; это старо, но встроенные API в Windows не перемещаются так очень.развлекайтесь!
А-ч, которого я знаю, как Вы себя чувствуете, старый программист интерпретируемых языков, которые хотят знать волшебство позади скомпилированного программирования. Хорошо я не могу найти учебное руководство, что я раньше изучал программирование окон, но просто знал, что существуют хорошие win32 учебные руководства вокруг, таким образом, Вы не тратите впустую свое время, покупая книгу просто все же. Я нашел его: http://www.relisoft.com/win32/index.htm Самое Опрятное учебное руководство вокруг, доверяйте мне.
Было бы нормально с Вами писать графический интерфейсы пользователя в VC ++ использование Microsoft Foundation Classes или MFC? Именно так я был бы и писать VC ++ графический интерфейсы пользователя в прошлом.
Было много книг, записанных на MFC за эти годы. Я уверен, что любой из них сделает приятно. Можно найти в литературе ссылочный ATL, который является повторением Microsoft на STL. MFC и ATL, отчасти объединенный за эти годы так что-либо ATL, также применимы к приложению MFC в эти дни.
Удача и развлекайтесь!