Let´s use the time dimension example, if I use surrogate keys for time dimension I would have (for example) 100 for 20050601, 110 for 20050611 etc. If I wanna load 10 million rows with mixed dates (20050601, 20050523.. so on) into the fact table I would have to query the dimension to get the PK and load it to the fact table, isnt this a hassle?