A data transmission method performed by a terminal device, comprising: receiving first indication information, wherein the first indication information is used to indicate a transport block size, TBS, threshold; receiving second indication information from a network device, wherein the second indication information is used to indicate a quantity N of candidate TBSs; obtaining a first TBS set, wherein the quantity of elements in the first TBS set is equal to the quantity N of the candidate TBSs, and the largest TBS in the first TBS set is less than or equal to the TBS threshold indicated by the first indication information; selecting, from the first TBS set, a target TBS to be used for transmission of first data, wherein the target TBS is the smallest TBS, in the first TBS set, greater than or equal to a TBS required by the first data; and sending the first data to the network device based on the target TBS; wherein the first TBS set is a subset of a second TBS set, and the first TBS set comprises N TBSs, in the second TBS set, that are less than or equal to the TBS threshold indicated by the first indication information and that have smallest differences from the TBS threshold indicated by the first indication information, and N is the quantity of the candidate TBSs; or the first TBS set comprises N TBSs in the second TBS set, the N TBSs comprise a smallest TBS and a largest TBS in the second TBS set, N is equal to the quantity of the candidate TBSs, and the N TBSs are evenly distributed in the second TBS set; and wherein the second TBS set is a TBS set in a coverage enhancement mode, and the coverage enhancement mode is a CE mode A or a CE mode B; and if the coverage enhancement mode is the CE mode A, the second TBS set comprises 328, 376, 392, 408, 424, 440, 456, 472, 488, 504, 536, 552, 584, 600, 616, 680, 712, 744, 776, 808, 840, 872, 904, 936, and 1000; or the second TBS set comprises 328, 424, 536, 616, 712, 808, 904, and 1000; and if the coverage enhancement mode is the CE mode B, the second TBS set comprises 328, 392, 408, 424, 456, 472, 504, 536, 584, 600, 616, 680, 712, 776, 808, 872, and 936; or the second TBS set comprises 328, 408, 504, 584, 680, 776, 872, and 936. receiving first indication information, wherein the first indication information is used to indicate a transport block size, TBS, threshold; receiving second indication information from a network device, wherein the second indication information is used to indicate a quantity N of candidate TBSs; obtaining a first TBS set, wherein the quantity of elements in the first TBS set is equal to the quantity N of the candidate TBSs, and the largest TBS in the first TBS set is less than or equal to the TBS threshold indicated by the first indication information; selecting, from the first TBS set, a target TBS to be used for transmission of first data, wherein the target TBS is the smallest TBS, in the first TBS set, greater than or equal to a TBS required by the first data; and sending the first data to the network device based on the target TBS; wherein the first TBS set is a subset of a second TBS set, and the first TBS set comprises N TBSs, in the second TBS set, that are less than or equal to the TBS threshold indicated by the first indication information and that have smallest differences from the TBS threshold indicated by the first indication information, and N is the quantity of the candidate TBSs; or the first TBS set comprises N TBSs in the second TBS set, the N TBSs comprise a smallest TBS and a largest TBS in the second TBS set, N is equal to the quantity of the candidate TBSs, and the N TBSs are evenly distributed in the second TBS set; and wherein the second TBS set is a TBS set in a coverage enhancement mode, and the coverage enhancement mode is a CE mode A or a CE mode B; and if the coverage enhancement mode is the CE mode A, the second TBS set comprises 328, 376, 392, 408, 424, 440, 456, 472, 488, 504, 536, 552, 584, 600, 616, 680, 712, 744, 776, 808, 840, 872, 904, 936, and 1000; or the second TBS set comprises 328, 424, 536, 616, 712, 808, 904, and 1000; and if the coverage enhancement mode is the CE mode B, the second TBS set comprises 328, 392, 408, 424, 456, 472, 504, 536, 584, 600, 616, 680, 712, 776, 808, 872, and 936; or the second TBS set comprises 328, 408, 504, 584, 680, 776, 872, and 936.